80

Recently I started having an issue with VT-x on my Windows 10 running on HP EliteBook. I was using Oracle VirtualBox to run some VMs on it before and VT-x was enabled in BIOS and was working fine.

I started getting VT-x is not available error every time I was trying to start any of my VMs. That started happening after I installed Docker on my machine, so I tried uninstalling it and rebooting. Didn't help.

I checked BIOS settings and it says VT-x is enabled but checking with Intel(R) Processor Identification Utility shows that VT-x is not supported and Oracle VirtualBox also doesn't see it.

There were no hardware changes and the only software change was installing/uninstalling Docker.

How can this issue be fixed?

114

There are three common culprits for the type of error the user is seeing:

  • VT-x is not enabled in the BIOS
  • The CPU doesn't support VT-x
  • Hyper-V virtualization is enabled in Windows

Since the user already eliminated the first two possible culprits, the next step is to open a command prompt as administrator and run the following command:

dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

Afterwards, reboot the PC and try VirtualBox again.

  • 32
    To further clarify: Docker runs on top of Windows Hyper-V. The Docker install switched it on, but the de-install didn't switch Hyper-V off. – Tonny Dec 6 '16 at 15:43
  • @cat: It's a shared resource, in order to properly disable it when the last component depending it is removed, you'd need some sort of reference counting. – Ben Voigt Dec 6 '16 at 19:49
  • 2
    For completeness: this can also happen with some viruses that use VT-x to hide from the operating system. These are seldom though. – Simon Richter Dec 6 '16 at 19:51
  • @cat As Ben already mentioned: Docker has no way of knowing there isn't anything else running on the system that needs Hyper-V. So Docker can switch it on when it needs it, but should not switch it off, because that could kill/crash/disable another application. Not a bug. A "feature" made necessary by the fact that Windows doesn't provide any standard mechanism (reference counting) to keep track of what application is using which resource. Windows only does this for DLL's and some other similar resources and it is far from reliable. As a result it is safer to just leave them alone. – Tonny Dec 6 '16 at 20:07
  • 4
    It should be noted that Hyper-V does technically support nested virtualisation since the 1607 update. If you have a need for both Hyper-V and VBox at the same time, you can try enabling it. – Bob Dec 7 '16 at 6:45
12

After updating Windows 10 to "Fall Creators Update" I got the same issue. I resolved it by the following steps:

  1. Enable all features under "Hyper-V" in "Turn Windows features on or off".
  2. Restart.
  3. Disable all features under "Hyper-V" in "Turn Windows features on or off".
  4. Restart.
  5. Now VirtualBox is working again and it shows (64-bit) in its list of operating systems.
  • 3
    For the impatient: disabling Hyper-V took Windows several minutes. – Jens Piegsa Feb 20 '18 at 11:49
  • 1
    unfortunately didn't worked for me... – Mahdi Rashidi Jul 28 '18 at 15:27
2

Virtualbox was working ok. I updated Avast anti-virus today, 29th June 2017. Virtualbox then gave the VT-x error. In Avast Settings, go to Troubleshooting and enable "Use nested virtualiszation where available" and then reboot your PC. This worked for me with no other changes required.

  • Getting blue screens here since today (vmm.sys), I use avast free but I don't see that option. – Dan Jun 30 '17 at 5:49
  • I had the same problem with Windows Defender. I enabled Device Security - Core Isolation. Disabling that resolved my problem. – Tsuharesu Aug 22 '18 at 0:29
2

When I had this problem, VMWare Player gave a better diagnostic response than VirtualBox did when I tried to create a 64-bit virtual machine.

It said that my machine had the enterprise features Device Guard and Credential Guard enabled. I suppose they became enabled when I ran MalwareBytes; I can't think of any other change I made.

VMWare Player pointed me to a page called Manage Windows Defender Credential Guard. That page has a bunch of stuff about Group Policy Manager settings and the like, which of course are irrelevant to a W10 HOME installation.

In turn, that page pointed me to the Device Guard and Credential Guard hardware readiness tool, a PowerShell tool for enabling and disabling this feature set on servers.

Running that tool in a Run-As-Administrator power shell and giving this command

 .\DG_Readiness_Tool_v3.5.ps1 -Disable -AutoReboot

took me through the process of disabling those features.

And I have virtualization capability back.

0

If you're using the lasted Windows 10 build, disable Memory Integration in Device Security and reboot.

I was facing similar issue virtual box when I enabled this option. Disabling it worked for me.

Core Isolation - Memory integrity Screenshot

protected by Community Mar 8 '18 at 16:34

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.