120

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?

156

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.

  • 40
    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
  • 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
  • 3
    Additionally the [Virtual Machine Platform] windows feature should also be disabled. – lintabá Feb 2 at 15:27
18

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.
  • 5
    For the impatient: disabling Hyper-V took Windows several minutes. – Jens Piegsa Feb 20 '18 at 11:49
  • 4
    unfortunately didn't worked for me... – Mahdi Rashidi Jul 28 '18 at 15:27
  • Had the same problem after win10 update, the culprit is the update enabling hyper-v feature. so I did a bit of trial and error finally this worked: enable intel virtu.. and vt-d from the bios then disable Windows Hypervisor platform and Virtual Machine platform from the control panel > windows features on or off then restart your PC – PauAI Sep 22 at 21:50
7

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.

6

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

3

I was tripped up by the fact there was 2 options in the Windows Features dialog to turn off:

  • Hyper-V
  • Windows Hypervisor Platform

I had attempted an upgrade to VirtualBox 6, and some performance issues, and downgraded to VirtualBox 5 and had these issues. Hopefully this helps someone else out.

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
0

I came to this post thinking that VT-x wasn't enabled, because Hyper-V was telling me that "The virtual machine is using processor-specific features not supported on physical computer". This started after installing Windows updates and restarting the server. In reality, VT-x was actually enabled.

The fix was to delete saved state for all VMs, effectively a power-off.

It looks like the reason for this may have been a CPU microcode update but it's hard to be sure, it's just something that came up in a number of search results.

0

As mentioned in another answer, Core isolation, Application Guard, Credential Guard and Device Guard utilize the Hyper-V feature. If you don't need that level of security you can disable them by running

DG_Readiness_Tool_v3.5.ps1 -Enable -AutoReboot

or

mountvol X: /s
copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
bcdedit /set hypervisorlaunchtype off
mountvol X: /d

More detailed information about those commands can be found on Manage Windows Defender Credential Guard

However on Windows 10 Build 18305 and up, beside the guard features, Windows Sandbox will also enable Hyper-V, because it's also a thin layer of virtualization

If you want to use the sandbox feature then unfortunately you can't disable Hyper-V like in other answers. There are 2 solutions for this

  • Use Hyper-V instead. If you have VMs running in other hypervisors like VirtualBox then just migrate them to Hyper-V
  • Enable nested paging so that you can run other hypervisors inside Hyper-V. Simply run the below command to enable that feature

    Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
    

For more information read

  • bcdedit /set hypervisorlaunchtype off worked for me – user1641838 Aug 24 at 16:10
  • @user1641838 have you read all the answers? There are a lot of new features that will use virtualization so you won't be able to run another hypervisor even if you turned off Hyper-V – phuclv Aug 25 at 13:25
  • yeah, I read and tried all answers in this thread. And there even was blue screen after running DG_Readiness_Tool. bcdedit /set hypervisorlaunchtype off is the only way for me to get rid of the 'VT-x is not available' thingy. Other issues came after, though. And I finally switched to Hyper-V. BTW, I am using windows insider preview, so my millage my vary. – user1641838 Aug 26 at 14:12
0

I have the same issue on Virtualbox, and I have checked the following on my computer

  • VT-x is enabled in the BIOS
  • Hyper-V virtualization and Windows Hypervisor Platform are disabled in Windows
  • Memory Integration is disabled

After excluding the above reasons, I remembered that I have just enabled Windows Sandbox, I found this post.

The problem is with Windows Sandbox, but simply disable windows sandbox from Windows Features and reboot will not work. You have to do the following as described from the above post:

  • Disable Windows Sandbox and reboot
  • Disable virtualization in BIOS and reboot
  • Enable virtualization in BIOS and reboot
  • This one worked! thanks bro. – Amr SubZero Nov 21 at 20:07

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