I don’t know if it’s caused by new build of Win 10 or something else, but I started getting these errors when starting my Virtual box machines. Well not on all machine actually.

Failed to open a session for the virtual machine Win7-VS2012.
VT-x is not available (VERR_VMX_NO_VMX).
Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

It took some time and digging to figure out it was only the 64-bit VMs that threw this error, and not the 32-bit VMs. After some interwebs clicking, I got to this post by Derek Gusoff where he described how to use Hyper-V and Virtual Box on the same host.

Although he doesn’t mention the error, the root cause of his problem is the same. Hyper-V is greedy and owns the “VT-x” thingie after booting and doesn’t share with Virtual Box at all.

The two solutions:

  • Either remove Hyper-V from Windows (if you’re not using it obviously) via ‘Turn Windows features on of off’
  • Edit the BCD to start Windows with the Hyper-V (hypervisorlaunchtype disabled) as the post illustrates.

Edit May 2017: Docker for Windows will required Hyper-V.