Is it possible to boot a Windows VHD using GRUB on a physical machine?

Is it possible to boot Windows from a VHD file which is stored on a Linux partition?

I don't want to run Windows under VirtualBox. Linux is the only OS on the hard drive, and Windows should only exist on the VHD.


You can boot a VHD using BOOTMGR here some info about how to chainload it with `grub4dos. I think it should be trivial to adapt it to grub 2 but I'm not confident with grub configurations.

I have not tried it but I found the info for grub4dos here: http://reboot.pro/topic/15407-booting-from-vhd-in-grub4dos/

Form the above thread:

native Windows 7 VHD booting goes through BOOTMGR and an entry dedicated to it to this effect in \boot\BCD. It is NOT about VHD booting, it is about booting WINDOWS 7 on VHD.

Normally you have:

C:\BOOTMGR
C:\boot\BCD
C:\Myl33t7.vhd

The booting sequence is as follows:

BIOS->MBR->Active partition bootsector->BOOTMGR->BCD choice mapping C:\Myl33t7.vhd

You can insert grub4dos in any point BEFORE BOOTMGR.

IF you want to have the BOOTMGR and \boot\BCD INSIDE the .vhd, as long as the .vhd is static, you just map the .vhd in grub4dos and chainload the BOOTMGR in it:

find --set-root /Myl33t7.vhd

map /Myl33t7.vhd (hd31)

root (hd31)

chainload /BOOTMGR

boot

The grub4dos mapping is only used in the initial part of the setup to aloow the loading of BOOTMGR and BCD.

There is another tutorial but it is in Russian, here the translation: http://translate.google.com/translate?hl=en&sl=ru&u=http://habrahabr.ru/post/228641/&prev=search