I should have done it earlier and I’m kicking myself now. After Eric mentioned Scott Hanselman’s posts and then we had a team chat with James and Andrew I was intrigued enough to give it a go. This morning I took the plunge, following the instructions in Scott’s posts. Now I’m completely converted.
Boot from VHD allows you to boot natively from a VHD file giving you dual (multi) booting without all the hassle / risk. It scores over virtualisation (eg Virtual PC or Hyper-V) because you’re running natively on the hardware, it’s just the hard drive access that’s “virtualised”. That means proper graphics performance for one thing so you get hardware acceleration for WPF / Silverlight. That’s been a blocker for me going down the virtualisation route in the past. Performance should be near native with just a small hit for disk access.
Following Scott’s instructions in this post I created a SysPrep’d Win7 image which I then enabled for booting by following the instructions in this post (you can start from “Setting up your Windows Boot Menu to boot to an Existing VHD”).
When I boot I now have the choice of Win7 native or Win7 VHD. Had I been here a couple of weeks ago I’d have opted to install VS2008 on my native drive and VS2010 on my VHD. I’d probably have done the same for Office 2010. And there are various other apps that I use very occasionally (eg XMind which Eric introduced me to but I don’t really want to install the JRE on my “main” machine just for this) so installing to the VHD makes perfect sense.
There are a few limitations: eg I can’t hibernate the VHD OS, it can’t be on a BitLocker enabled volume (or an encrypted or compressed NTFS volume) etc. There’s a good FAQ on Virtual Hard Disks in Windows 7 on TechNet. In fact the Windows 7 Deployment section on TechNet has lots of useful info on this topic.
So I now have a “native” Win7 installation (BitLocker enabled) for all my “core” business. I have a VHD Win7 installation for tech preview / beta / occasional use installs and the great thing is I can easily “reset” this at any time. Boot from VHD even supports differencing disks so I could get really fancy if I wanted :-).
One final caveat – as Scott says “this makes your VHD less portable, because if you move it inside Virtual PC or to another machine, all the devices will freak out and try to reinstall (or maybe just not work) so be aware of that”. It’s running natively so Virtual PC / another machine will be seen as different hardware.