The World’s Leading Microsoft .NET Magazine
   
 
The .NET Addict's Blog

My Top Tags

                                                           

My RSS Feeds








I heart FeedBurner

Latest Diggs - Programming

Computers Blogs - Blog Top Sites

Site Hits

Total: 4,878,821
since: 19 Jan 2005

How Win7's "Boot to VHD" Feature has Changed the Way I Work

posted Fri 28 Aug 09

Recently I was reading the Hanselblog when I discovered these two articles here and here. Before I get to what I've been doing, I want to recap my usual machine (virtual and physical) usage scenarios:

  • A clean host, this is what I do my day-to-day stuff on : writing, browsing, e-mail, gaming
  • virtual machines all over the damn place: every beta, CTP, limited new ultra-shiny thing gets put in a VM and played with until my eyes bleed.

This is normally an adequate situation for me. However, with some things I just don't want the virtualization overhead or the difference in environment. For example, VS2010's GUI is written in WPF and that particular GUI hates being virtualized. When put under a virtual machine running Windows 7, VS2010 fails to render things, borders disappear, windows become unusable and the experience is downright awful. On the other hand, when you run VS2010 "bare metal" with no virtualization between it and your video card, everything is beautiful and all works well.

When reading the blog posts about the VHD boot feature, I realized that I could have my cake and eat it too. I could have the sandboxing, isolation, and easy throw-away that I typically require for evaluating betas and CTPS...but I could also run the sandbox un-virtualized and only incur a 3-4% performance penalty on disk I/O by running inside a single file rather than running in a directory or partition. I can handle that.

So now I've got a VHD on my laptop that boots into Windows 7 Ultimate with a full install of VS2010 and SQL Server 2008 that I can use as a sandbox for building next-gen applications. I've also got a Win2k8 R2 sandbox that is waiting for Biztalk 2009 and/or whatever other server product I want to evaluate. And if I want I can have another sandbox for Win7 that has other CTPs and betas that don't exactly play nice with the current revision of Visual Studio 2010. The only real penalty I have is waiting for a reboot...which is fast on my laptop and painfully slow on my tower.

So.. if you like the isolation, sandboxing, safety, and easy throw-away features you get from virtualization but you don't need to actually have multiple sandboxes running at any given time, then I think using the Boot to VHD option is quite possibly the best developer feature I've ever seen in an Operating System to date.

Anyway, I've got more good stuff to come, I've been spending a crazy amount of time writing Azure apps on ASP.NET MVC and I'm about to start dumping all kinds of goodness on the blog (assuming anybody actually reads this thing anymore).

So go forth, make your VHD files, share them among your friends and co-workers, and enjoy the awesomeness that is Windows 7.

tags:      

links: digg this    del.icio.us    technorati    reddit

AddThis Social Bookmark Button




1. Simon left...
Fri 28 Aug 09 8:51 pm

The two article links go to the same article

Always interesting to see how others set up their workspace. Thanks.


2. Marco left...
Sun 30 Aug 09 1:19 pm

Hi. Good article. I have read the Hanselman also and started use the boot from VHD. It works great.


3. Andy Babiec left...
Mon 31 Aug 09 2:26 pm

Yup - I can't wait until I set up my boot VHDs - my VSTS 2010 & Office 2010 bits are waiting for some usage.


4. Andrew left...
Wed 02 Sep 09 2:42 am

how do you find the whole "reboot" process to get into your "VM" rather than being able to ALT-TAB to it as before?

looking forward to the azure goodness :)


5. Kevin Hoffman left...
Wed 02 Sep 09 5:54 am

I personally don't have a problem with it. As I said in the post, if your workflow involves using a single lab environment for hours at a time before needing a different lab environment to be up - this is ideal. If/when I get to the point where I need 2-3 of these virtual environments up and running and alt-tabbable at the same time, then I'll just bring up VMware.