Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

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
1  
you can : technet.microsoft.com/en-us/windows/dd758779. 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) microsoft.com/en-us/download/… – 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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .