Can I boot Linux from a VHD?
Solution 1:
You cannot. In Windows VHD support is integrated in boot process and Linux does not offer such support. Additionally, I am not aware that Linux supports booting from any other virtual disk type.
Solution 2:
yes, We just released a sample Linux VHD that you can boot any computer.
You can find more info here:
Download and boot your physical PC, also runs as vm - http://www.vmlite.com/index.php/forums/17-vboot/1864-linux-vhd-boot-available-download-and-boot-your-physical-pc-also-runs-as-vm
1 Linux as Real Appliance
With VBoot for Linux, you can pre-install and pre-configure Linux OS and its applications, then distribute the resulting virtual disk file in VHD format. The vhd can boot a real computer, with configuration and apps instantly available. This way, operating systems are truly manageable, as simple as files. We call such a Linux VHD to be a real appliance, in the sense that it boots physical computers.
It's very easy to setup and boot a computer with a vhd file. You download the vhd file, drop it to Windows or Linux file system, then configure the boot loader, and reboot the computer.
2 Linux as Virtual Appliance
The exact same vhd file also runs as a virtual machine using virtualization software, such as VMLite Workstation, VirtualBox, Xen and Virtual PC and Hyper-V, etc. By default, it's optimized for VMLite Workstation.
If VMLite Workstation is installed, you can simply double click the ubuntu-910-desktop-i386.mop file to launch the vhd as a virtual machine with VMLite Workstation.
A sample Ubuntu VHD package is ready for download:
http://www.vmlite.com/index.php/download/22-appliances (free site registration required)
download, extract it, then double click setup.exe on Windows, reboot On Linux, need to configure boot loaders.
detailed instructions:
http://www.vmlite.com/appliances/ubuntu-910-readme.html
screenshot:
http://www.vmlite.com/images/vboot/vboot-grub2.png
VMLite Team
Solution 3:
First Create a bootable Win 7 VHD using this known procedure from Keith Combs.
http://blogs.technet.com/b/keithcombs/archive/2009/05/22/dual-boot-from-vhd-using-windows-7-and-windows-server-2008-r2.aspx
Boot the Win 7 operating system on the VHD.
Go get the free Wubi installer.
http://www.ubuntu.com/download/ubuntu/windows-installer
From Windows 7, install the Ubuntu Wubi installer, but make sure you install files on the Physical HD's primary partition (not VHD's C: windows partition)
Reboot when asked to do so, but don't select Ubuntu yet from the boot menu (it won't work), you need to launch Windows 7 one last time.
Now the important bit: In Windows 7 make sure you change the Folder view settings to "Show all files" and make sure OS files are un-hidden. Once you have done this browse the C: drive. You will see two important files: wubildr and wubildr.mbr
Copy these two files to the root of the Physical Partition (ie, the partition where the Windows7.vhd file is located and the Ubuntu folder that was created when you installed wubi above). Just to be sure you are copying the files to the right partition, make sure you can see that there is a pagefile.sys bootmgr and bootsect.bak file.
Thats it! reboot and select Ubuntu from the Windows bootloader.