A few days ago, I needed to install VirtualBox to mount my Linux VM’s. Everything worked perfectly, and with 64bit available. Some time later, I had to install the Windows Phone SDK 8, to create a prototype app. It also worked correctly.
But, when I needed to start a VM again, I received the following error:
VirtualBox Import Appliance; VT-X is not available.
Doing a research, I figured that this means that virtualization is not available on the computer, or in the operating system. When checking in the BIOS, virtualization was enabled – since it worked before.
So the problem could be in Windows 8 (which is the host).
The Windows Phone SDK uses Hyper-V
To install and use the Windows Phone 8 SDK, Hyper-V is required, and it is where it can run the phone emulator.
So the SDK intalls Hyper-V and activates it. Hyper-V starts executing when the computer reboot. (By the way, Hyper-V is extremely heavy for common use, make direct debug the device itself.)
After a boot or reboot, Hyper-V will “take over” of all features on Windows.
When you enable Hyper-V, Windows becomes an virtualized environment and VirtualBox no longer have direct access to hardware. This is normal. Your Windows starts to behave as a virtual machine. And with that, the VirtualBox VM’s stop working.
It’s like trying to open a VM inside another VM. Which is not possible.
Disable Hyper-V and Reboot
To solve this problem, you must completely disable the Hyper-V on Windows:
- Open the Control Panel;
- Go to Enable or Disable Windows Features;
- Uncheck Hyper-V and OK;
- Restart the PC
You really need to reboot, so the virtualization layer (Hyper-V) can be disabled in the operating system. Most likely, the emulator Windows Phone 8 will stop working.
I recommend that you use a real device to debug and have a more real feeling of your app.