Windows 7 Disk2vhd and Hyper-V

#1
I was running Windows 7 x64 on my system, and needed to install Windows Server 2008 R2. I want to run my Windows 7 in a VM on the Windows Server 2008 R2 Hyper-V. In order to take an image of the my system, I used the SysInternals Disk2vhd utility to create a virtual disk (*.vhd) of my system.

I know that Disk2vhd does not support creating an image of a system, and then running that VM on the exact same system/partition, but I thought EasyBCD would be able to fix that. Here's the warning about Disk2vhd;

Note: do not attach to VHDs on the same system on which you created them if you plan on booting from them. If you do so, Windows will assign the VHD a new disk signature to avoid a collision with the signature of the VHD’s source disk. Windows references disks in the boot configuration database (BCD) by disk signature, so when that happens Windows booted in a VM will fail to locate the boot disk.

My error in Hyper-V is "A disk read error occurred. Press Ctrl-Alt-Del to restart."

Is this something that EasyBCD can help me with? I tried running it and pointing to the VHD file, but it didn't seem to make any changes and/or difference. Thanks for any insight into this.
 
#2
If you attach your VHD on the same system, Windows will change the virtual disk signature, thus preventing boot from it. Read more on how to fix. To verify, this is your problem, try to boot the VHD on your real PC instead of the VM. Understand that Windows is designed to prevent by default running the same install on various PCs and VMs due to licensing policy.

However there is more to it. If your real PC boots only from SATA drives, and Hyper-V is setup to boot from IDE, you would have to add IDE support on startup, and vice versa. Also add DetectHAL to BCD Entry of the OS on VHD. The simplest way for you to fix Hyper-V issue would probably be Generalizing the install with Sysprep, or follow this Tutorial.
 
Last edited: