I have start playing with the new feature (boot from VHD) available in Windows 7 and windows server 2008 R2.
Until now I always created a separate partition for the operating system, now by using the boot from VHD feature I can have a single partition and have the OS installed inside a single VHD file.
There are some things to be aware of when doing a setup like this:
- Be aware when using Dynamic VHDs that when the computer boots up the VHD gets expanded to the maximum size so if you created a dynamic VHD and specified 127Gb as the maximum size you better have that much space free on your hard drive or the operating system will fail with an ugly blue screen. My recommendation would be to use fixed size VHDs.
- There is no easy way to move from physical to boot to VHD due to the expansion of the VHD so trying to create a VHD from a big partition with a lot of free space and then store it on that partition will fail due the VHD being expanded just a little bit more than the space available due to header information in the file.
- The way that I recommend doing a migration from physical to boot from VHD is to use Disk Management –> Shrink Volume before migration and then just do a Windows Backup to VHD (available starting with Windows Vista) then expand the partition back again using Disk Management thus giving you enough space for the VHD.
- If you try to reuse the same VHD images to run them under Hyper-V you are out of luck as the files are exclusive locked by the system and they have the physical drivers installed.
- I was happily surprised to see that the Swap file get stored to the main hard drive next to the VHD instead of being stored inside. This was a great improvement as it does speed up the OS, and not even mentioned during the launch event either.
In the end boot to VHD is great because it only virtualizes the HDD access giving me the possibility to have both Windows 7 and Windows 2008 R2 on the same machine. Who knows maybe in the future I will be using boot to VHD for my development machines instead of Hyper-V.