With Windows 7 Ultimate and Windows Server 2008 R2 comes a new feature called “Boot to VHD” (I have referred to this feature as Boot2VHD in the past). As the name implies, this feature allows your computer to use a VHD as if it was a another boot partition. If you want to know more about this feature, I’d recommend reading this post by Scott Hanselman.
In order to enable booting from a VHD, you need to use BCDedit to create a boot entry and point to the VHD file. This process is trivial, but there’s always room for human error. That’s why we created a utility that acts as a wrapper around BCDEdit.
The “B2VHD Assistant” allows you:
- Create a VHD entry from an existing VHD
- Create a differencing disk from an existing VHD and create a boot entry from the differencing disk (great for labs that cannot be virtualized)
We tried to keep the interface simple and easy to use:
Sample Usage Scenario:
- Enter a name for the boot partition under Entry Name
- Click on the ellipsis on VHD Path and select a VHD to boot from
- A suggested name will be displayed (greyed out) under Diff Disk Path. At this point, a differencing disk will not be created unless you…
- Click the Create Differencing Disk checkbox.
- Select the options you need from the Boot Options pane (default will most likely work for everyone)
- Click the Create Entry button.
At that point the differencing disk will be created on the same path where the parent VHD is located. The application will then open msconfig.exe so you can verify the boot entry.
The application has NOT been thoroughly tested. It was created for a project I worked on and thought someone might find it useful. That being said, if you decided to use it, it’s at your own risk. The source code will be available on CodePlex once I clean it up a bit.
Some random pointers:
- The booted VHD will expand to it’s maximum size. This means that if you use a VHD whose max size is 127 GB, you will need that amount of free hard drive space or the machine will blue screen when the VHD is booting up.
- The differencing disk needs to always be in the same folder as the parent.
- Initial Release
- Fixed issue with differencing disk automatic naming feature
- Fixed bug preventing differencing disks to be created
- Correct version shows up in “Programs and Features”
- Correct name shows up in “Programs and Features”