Recently I upgraded to the Windows 8 RTM build for my main work laptop, and began working with Hyper-V, which is available on a client OS for the first time with Windows 8. Since I use virtualization to do SharePoint development every day, I was eager to see what Hyper-V could do. So far, I am impressed. It performs well and stays out of my way when I’m not using it.
However, my project team at work is heavily invested in VirtualBox, and rather than try to make all their updates to my new VM, it makes more sense to develop on the same system as the rest of the team. The challenge is that VirtualBox and Hyper-V cannot co-exist on the same machine. Only one hypervisor can run at a time, and since Hyper-V runs all the time, while VirtualBox only runs when it is launched, VirtualBox is the loser in this scenario.
The workaround (there’s always a workaround, isn’t there?) is to disable Hyper-V when you want to run VirtualBox. I found a few different ways on the web to accomplish this, including altering the registry, and running a command. But the only one I found that worked involved changing the boot configuration using bcdedit.
If you run bcdedit with no arguments, you should see a property called hypervisorlaunchtype. This will be set to off or auto.
To disable Hyper-V in order to use VirtualBox, open a command prompt as administrator and run the command:
bcdedit /set hypervisorlaunchtype off
You’ll need to reboot, but then you’ll be all set to run VirtualBox. To turn Hyper-V back on, run:
bcdedit /set hypervisorlaunchtype auto
and then reboot.