Server Fault is a question and answer site for system and network administrators. 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 Windows 7 (host) machine that also has a Windows 7 (guest) VHD configured to dual boot. This is very cool and working great! But...

If I'm running the host OS I would like to ALSO be able to run the guest OS virtually. I tried creating a new virtual machine using the existing guest VHD, but it won't boot. It hangs at the spinning PXE boot dialog.

Is this impossible? I'm guessing that there is some magic bootloader change that is allowing the boot from VHD to work, but preventing the VHD from being virtually... but hopefully I'm just missing some configuration step?


share|improve this question
This belongs on – MDMarra Nov 13 '09 at 1:28
Matter of opinion I guess... there are more related questons and answers here... – Scrappydog Nov 13 '09 at 1:33
There're more clever guys here, I guess :) – kolypto Nov 13 '09 at 2:21
I don't know about it being a matter of opinion. Have a read of the FAQ. – John Gardeniers Nov 13 '09 at 4:38
Suppose I just edit the original question and replace "Windows 7" with "Windows Server 2008 R2"... still the same question? – Scrappydog Nov 13 '09 at 13:40
up vote 3 down vote accepted

Let's get some terms straight. Before virtualization came into the mix, you had two Windows installations, neither of which was a "host" or a "guest." One was on a filesystem sitting on a disk partition and the other was on a filesystem within a VHD. You were set up to dual-boot.

When you booted the VHD for the first time, Windows customized that system so that it would boot faster the next time. This involved unloading a bunch of storage and other boot-related drivers that it didn't think it would need.

In order to get your VHD image to boot in a VM, you need to generalize it again. Boot it on physical hardware. Then go to device manager and change the storage driver to the generic IDE driver. Then tell Windows to detect the proper HAL on every boot with:

bcdedit /set detecthal on

You may also need to tell it to use the generic VGA driver with:

bcdedit /set vga on

It should then boot within the VPC VM.

share|improve this answer
I've got it now: The core issue preventing this is that in the boot from VHD scenario the OS is using "real" drivers for the actual hardware, and the virtual scenario it need generic "virtual" drivers. Thanks! – Scrappydog Nov 13 '09 at 13:43

Windows has never liked hardware modifications. Virtual Machine is also a hardware mod ;) It might be possible, but you won't like it. Seriously.

share|improve this answer

No. Windows 7 refuses to mount VPC VHDs.

share|improve this answer

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.