Booting a Windows Server Backup VHD in Hyper-V | Quisitive
Booting a Windows Server Backup VHD in Hyper-V
February 23, 2012
Quisitive
Wouldn’t it be nice to be able to restore the contents of a Windows Server Backup VHD to a Hyper-V virtual machine?

I recently helped a friend on an issue with Windows Server Backup and want to share an interesting experience.  Many of you may know that the Windows Server Backup feature stores the backup file in VHD format.  Microsoft touts the recoverability of these files to be used for bare-metal recovery, which means you are expected to restore the image contents within the VHD to the same or similar physical hardware.

But in some cases wouldn’t it be nice to be able to restore the contents of a Windows Server Backup VHD to a Hyper-V virtual machine?

If you’ve ever tried to do this process then you’ve undoubtedly come across a blue screen and may have given up and just said this can’t be done.  But I’d like to share some info on how you can convince your friends and clients that booting a Windows Server Backup VHD, or for that matter a Windows Complete PC Backup VHD from Windows 7, is possible in a Hyper-V environment.

The cause of the issue has to do with Hyper-V’s inability to run operating systems that look for the RAID or AHCI standard.  Hyper-V uses the IDE standard for booting operating systems.  So the fix is to modify the registry offline to switch the operating system within the VHD to use the IDE standard.

Here are the steps to follow:

  1. Create a virtual machine in Hyper-V and attach the Windows Server Backup VHD file
  2. Boot the Hyper-V machine to WinPE
  3. Launch Regedit
  4. Highlight HKLM and click Load Hive
  5. Depending on the configuration of the system partition, navigate to C:WindowsSystem32config or D:WindowsSystem32config and load the SYSTEM hive
  6. Follow the registry changes listed below
  7. Highlight HKLM and click Unload Hive
  8. Reboot and wait a minute or two

Registry Changes

HKLM/System/CurrentControlSet001/Services/<item below> and then then modify the “Start” value according to the numbers listed below:

Aliide = 3
Amdide =3
Atapi = 0
Cmdide = 3
iaStorV = 3
intelide = 0
msahci = 3
pciide = 3
viaide = 3

Note: If you are restoring a backup of a Hyper-V host to a Hyper-V virtual machine then you may need to disable the Hypervisor boot option in WinPE:

bcdedit /set {default} hypervisor off

Hope you all find this solution useful!  Please share your comments or questions if you hit a snag on this process.