Actually did something similar back in 2000. We built a dual-processor Pentium II machine and installed Win2k and Redhat (IIRC), then with vmware and a bit of hacking we were able to make each one VM bootable inside the other. Just for the sake of it really. Fun :)
This is actually a feature of VMware Fusion for the Mac. Or at least it used to be.
If you had a dual-boot system with Windows (Bootcamp) and Mac OS X, you could run the Bootcamp partition under VMware Fusion for most things, and reboot into native Windows if necessary (for some games).
I had the horrifying experience of doing this with Windows Vista. It was at the point where XP's Hardware Abstraction Layer had been depreciated, but there wasn't any documentation for what to use instead. It was really messy. Every time I booted in a VM it thought it was an unlicensed copy, but when I booted from the physical machine it didn't see any problems. I still have no idea what caused that.
I'm going to guess that Windows Activation saw a different hardware config under the VM, so it thought it was running on a completely different machine.
I remember doing something similar to diagnose a boot problem a while ago. It was much quicker mounting the partition on a live cd, changing something, unmounting and trying to boot in vbox, then repeating, than it would have been to use any other method, if nothing else because it sidestepped repeatedly waiting for my the slow real mobos bios to post
Another way to make use of 3D graphics in Windows, from Linux seems to be booting Windows VM in xen, and passing through a spare GPU to Windows. I'm aching to try this out as I am frustrated working with SolidWorks in VirtualBox VM and I have finally upgraded my desktop PC with hardware which should in theory support this.
before i switched back from linux to mac i took out my ssd and put it in a thunderbolt case. i can now boot it directly and everything works perfectly or i use virtualbox. sadly the permissions are a bit questionable(see below).
Also, one caveat is that the virtualbox vm write tops out somewhere around 100-120 mbyte/s (idr), while the boot from linux gives me 360.
I'm puzzled about how this would help with 3D graphics. Wouldn't Windows still be running the same way in a VM, regardless of where its files are located?
The idea's that you can boot into "native" Windows when you need to do stuff with 3D graphics, but boot into virtualized Windows when you don't. This way, you can use the same install for both purposes, allowing you to save storage space and avoid having two different Windows installs that you have to setup and maintain.
Yes. It's implemented using a hardware IOMMU so that transfers between the PCI device and the VM can be properly mapped from the VM's address space to the host's physical address space. There's slight overhead on PCI transactions, but everything happening on the GPU is exactly the same, because the VM is running the same standard Windows drivers. The only real complication is that it removes the GPU from the host's control, so it's easiest to set up on systems with more than one GPU.
Actually did something similar back in 2000. We built a dual-processor Pentium II machine and installed Win2k and Redhat (IIRC), then with vmware and a bit of hacking we were able to make each one VM bootable inside the other. Just for the sake of it really. Fun :)