Windows – Same dedicated Windows drive for Boot Camp and VirtualBox

bootcampvirtualboxwindows

I am going to be setting up a new (to me) Mac Pro 4,1 with multiple internal hard drives. I want to run Yosemite most of the time with Windows 7 virtualized in a window for a few programs I need to run that require Windows.

Occasionally, though, I would like to boot directly into Windows at startup for maximum performance (for games).

Is it possible for VirtualBox and Boot Camp to share the same Windows installation? In other words, can I dedicate one hard drive, or one partition, to Windows 7, and then either

  • choose to boot from that drive (or partition) at startup, or
  • boot into OS X, run VirtualBox, and have Windows inside the virtual machine boot from the same Boot Camp drive (or partition)?

My goal is not only to save disk space (by installing Windows and the software I need to run under it in just one place, rather than on one real drive and one virtual drive) but also to avoid having to buy multiple Windows licenses.

Best Answer

The answer is No. Sorry. I have done this already. Here is the problem. VirtualBox and your Apple use different hardware. If you try to switch between the hardware you are going to drive windows insane.

If you first install Windows using VirtualBox's virtual hardware and a physical disk partition, then switch to Apple's physical hardware with the same physical disk partition then you have to run Microsoft's "System Preparation Tool". This tool is meant to be run once, not repeatedly. See the procedure at this link

The other problem would be now are you going to activate the software for both machines. Are you going to active while running under VirtualBox or BootCamp?

When you boot between the physical Apple hardware and the virtual VirtualBox hardware, the Windows operating system is going to detect the change. For example, the two machines do not share the same MBR. Each MBR will have a different signature. Windows stores this signature in its boot partition and compares the value with the MBR when booting.