So my laptop is set up for dual-booting, Windows 7 and Ubuntu Linux 10.04. There are certain applications in which I want to access Windows from Linux. Is there a way to do this using VirtualBox? Everything I’ve read involves booting from an ISO or something, but is there a way to boot from an existing drive (the one that has Windows 7 installed on it)? I currently get the error message,
FATAL: No bootable medium found
You need to set up a bootloader and tell it how to find that partition when running inside VirtualBox.
There is some info here.
I’ve tried to set this up a few times but I never got it to work or even (as far as I remember) found any evidence that it’s been successfully done. The reason is that when you install Windows, it customizes itself to the hardware configuration of the computer you install it on. If you try to run it on completely different hardware, it won’t boot up.
This is a problem because VirtualBox has its own “virtual hardware” that it uses to run the operating system – that is, when Windows (running on a VM) tries to access information about, say, the graphics card, it gets the information about the virtual graphics card provided by VirtualBox, not the real graphics card. Same with the CPU, RAM, etc. So the Windows from your hard drive won’t be able to run on the different “hardware” of the virtual machine.
Windows XP had a feature which allowed it to store different hardware profiles, so that you could get it to run on multiple different computers, or on a physical computer and a VM. But that feature was removed in Vista.
If you want to be able to run Windows programs within Linux, take a look at Wine. You can use VirtualBox to do that, but Wine has less overhead because you aren’t running a full virtual machine.