Interesting interaction between Hyper-V and Virtual Box

Written on

Virtual Box - Oracle’s free solution to managing your virtual machines. It’s simple, it has a good selection of helper tools, and did I mention it’s free?

Hyper-V - Microsoft’s solution to the same task of managing virtual machines. Used in their Server software, and now available for Windows 8 as well.

So, where’s the problem?

If you have Hyper-V installed, you can’t use Virtual Box correctly. It will complain about your CPU not having support for AMD-V or Intel VT-X, which, you will say, isn’t true. The error might have “Cannot access the kernel driver!” or “AMD-V / Intel VT-X is not supported on this machine!” in it. There’s no simple workaround to this as far as I have looked.

Why would the average developer have Hyper-V installed? Well, Windows Phone 8 emulators require Hyper-V installed. So: you either don’t develop for Windows Phone 8 (using emulators), or you don’t use Virtual Box.

However, the next best thing (which isn’t very great, but hey, we’ll take it): you can convert Virtual Box installs to Hyper-V. Here’s a link describing the process: click here.

So, find where Virtual Box is storing the drives, convert them to VHD, attach them to your new Hyper-V instance, hope everything works.

As a sign of good hope: I’ve done this with 2 different Virtual Box machines and both have worked. But, of course, your mileage may vary.

Good luck!