1

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?

TIA

Scrappydog
  • 113
  • 4

3 Answers3

3

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.

Jake Oshins
  • 5,146
  • 18
  • 15
  • 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
0

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

kolypto
  • 11,058
  • 12
  • 54
  • 66
0

No. Windows 7 refuses to mount VPC VHDs.

tsilb
  • 608
  • 2
  • 10
  • 15