I have a virtual machine running Windows 2008 R2 x64 as guest, and Hyper-V R2 x64 as host.
I have cloned the vhd file of the virtual machine, and now, I want to boot from it directly on my laptop computer, which a Windows 7 Enterprise X64 SP1 (with hardware virtualization).
For that, I've set up a BCD entry :
bcdedit /copy {current} /d "Boot_From_VHD"
The entry was successfully copied to {1230b942-0833-11e1-abb2-d1169c7203ba}
bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} device vhd=[E:]\vhd\myvhd.vhd
bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} osdevice vhd=[E:]\vhd\myvhd.vhd
bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} detecthal on
Running bcdedit /enum, I can see my entry :
Windows Boot Loader
-------------------
identifier {1230b942-0833-11e1-abb2-d1169c7203ba}
device vhd=[E:]\vhd\myvhd.vhd
path \Windows\system32\winload.exe
description Boot_From_VHD
locale en-us
inherit {bootloadersettings}
osdevice vhd=[E:]\vhd\myvhd.vhd
systemroot \Windows
resumeobject {1230b940-0833-11e1-abb2-d1169c7203ba}
nx OptIn
detecthal Yes
When I reboot, I can see the entry in the boot menu. If I select the newly created entry, I can see for a few seconds the windows logo, then a BSOD.
This BSOD is not very useful as it's only suggesting to run a chkdsk. A bunch of 64 bits hexadecimal numbers are also put, but with no error message.
Any idea how to solve the problem ?
PS: I want to keep my system intact except the potential hardware changes. I have not run sysprep /generalize as it will reset all users, hostname, etc.