Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
What OS is your laptop running? (64-bit?) – TheCompWiz Jan 4 '12 at 14:48
Windows 7 x64 Enterprise Service Pack 1 + all updates – Steve B Jan 4 '12 at 14:52
Prior to making the .vhd ... did you install the integration tools? – TheCompWiz Jan 4 '12 at 14:55
there is no integration tools for W2K8 R2. Everything is in the OS directly. – Steve B Jan 4 '12 at 14:59
you can : It's a great new feature of W7 – Steve B Jan 4 '12 at 15:23
up vote 1 down vote accepted

I finally solved my problem.

The BSOD states error STOP: 0x0000007B, which means inaccessible boot device.

This puts me on the way of missing drivers. Actually Hyper-V machines use IDE emulation, and I suppose only IDE drivers are available in the image, while my laptop use a eSata drive.

To solve the problem, I use DISM /add-driver command using the following procedure, on the laptop that will run the OS :

  1. Mount the VHD in the disk managment (diskpart can too) --> on my computer, that add two drives, F: for the reserved system partition, G: for the windows partition
  2. add all drivers of the laptop to the image by typing :

    dism /image:g: /add-driver /driver:c:\windows\inf /recurse

  3. Add also the latest downloaded drivers :

    dism /image:g: /add-driver /driver:c:\somewhere\drivers /recurse

This took some minutes, but after the operation, my vhd contains all drivers. I think it's important to run the command on the target laptop to ensure all actual hardware's driver is added.

Finally, I rebooted, selected the correct boot entry, and it's boot :)

I had to reboot several times, because of the new hardware detection, but finally my system has been migrated from Virtual to Physical.

share|improve this answer
Excellent. @Steve B - this sounds extremely similar to what I'm trying to do. Would it be possible to "Boot to VHD" to the Hyper-V based VM here: 2010 Information Worker Demonstration and Evaluation Virtual Machine (SP1)… – tbone Oct 25 '12 at 20:13
@tbone: the microsoft IW demo is split in 3 virtual machine. You will probably be able to make the boot works, but you won't be able to log into the machine, as the domain controller won't be accessible. – Steve B Oct 26 '12 at 4:53
Ok, I've now run into this very problem. Where you say: "3. Add also the latest downloaded drivers", is that a folder where I would have to have (separately) download ALL the drivers for my laptop? I hope not cuz that will take forever.....but if so, let me know. In the meantime I'm going to try step 1 and 2. – tbone Oct 29 '12 at 0:18
EDIT: Ok, performed #2, errors on lots of drivers (ie: boot-critical driver but not properly signed)....rebooted, and got the same stop error. I wonder if I should try to find JUST the eSata drivers (wherever those may be) and "dism" only those to see if the error occurs. – tbone Oct 29 '12 at 0:35
Ok, set eSata AHCI mode to Compatible, boot in safe mode, get to a Server 2008 logon screen, CTRL+ALT+DELETE gets me to login prompt, everything looks ok....then, it reboots. No blue screen or anything. Never seen this before. Sigh. – tbone Oct 29 '12 at 0:49

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.