167

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?

1
  • 1
    Unable to add an answer so adding a comment - For me updating to the latest Oracle VirtualBox and Unchecking Settings -> Display -> Enable 3D Acceleration worked. Commented Sep 13, 2020 at 13:29

14 Answers 14

202

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.

16
  • 56
    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
    Commented Dec 6, 2016 at 15:43
  • 3
    For completeness: this can also happen with some viruses that use VT-x to hide from the operating system. These are seldom though. Commented Dec 6, 2016 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
    Commented Dec 7, 2016 at 6:45
  • 7
    Additionally the [Virtual Machine Platform] windows feature should also be disabled.
    – lintabá
    Commented Feb 2, 2019 at 15:27
  • 10
    Looks like in newer Windows 10 Builds the Feature has a different name, HypervisorPlatform, so you need: dism.exe /Online /Disable-Feature:HypervisorPlatform
    – Aganju
    Commented Apr 21, 2019 at 2:03
25

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
  • 5
    For the impatient: disabling Hyper-V took Windows several minutes. Commented Feb 20, 2018 at 11:49
  • 4
    unfortunately didn't worked for me... Commented Jul 28, 2018 at 15:27
  • 2
    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
    Commented Sep 22, 2019 at 21:50
  • Worked for me. However, I had run this cmd as well - dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
    – Darshan L
    Commented Feb 17, 2020 at 7:29
  • 1
    Following the five steps and rebooting one more time works for me. Commented Aug 22, 2020 at 22:44
18

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.

3
  • That script solved the issue for me (Windows 10, Enterprise N, Build 18363). None of the other things worked or were already deactivated (HyperV, Virtualization Platform...). This finally did the trick and VirtualBox works again, thank you so very much!
    – Wiste
    Commented Feb 11, 2020 at 11:17
  • This was the missing piece for me. Thanks.
    – dcorsello
    Commented Apr 24, 2020 at 1:49
  • 1
    This was also the only thing that helped me. I was not comfortable to deactivate the Credential Guard so I only deactivated the Virtualization Guard (the options come up after the reboot). This was enough.
    – Spenhouet
    Commented Jun 18, 2020 at 9:04
12

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

2
  • This should be added to the accepted answer Commented Feb 15, 2020 at 16:11
  • 2
    For you, maybe. But I already have this disabled and still can't start VirtualBox. Commented Apr 7, 2020 at 4:51
9

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
2
  • 3
    After removing Sandbox I was like "Whattttt, disable and re-enable virtualization??? That's silly". No, no, that literally fixed it. People, give it a go before trying something else. Commented Mar 15, 2020 at 1:10
  • After disabled Windows Sandbox, VT cameback without disable and re-enable VT for me.
    – zzy
    Commented Sep 19, 2021 at 6:54
5

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.

3

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.

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

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 many solutions for this

  • Use Hyper-V instead. If you have VMs running in other hypervisors like VMWare then just migrate them to Hyper-V
  • Use a hypervisor that supports Hyper-V like VirtualBox. See Using Hyper-V with Oracle VM VirtualBox
  • 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

5
  • 5
    bcdedit /set hypervisorlaunchtype off worked for me
    – C.W.
    Commented Aug 24, 2019 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
    Commented Aug 25, 2019 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.
    – C.W.
    Commented Aug 26, 2019 at 14:12
  • 1
    @user1641838 same here! I simply run bcdedit /set hypervisorlaunchtype off, restarted, and now my VM's are working again
    – payloc91
    Commented Sep 25, 2020 at 13:48
  • bcdedit /set hypervisorlaunchtype off worked for me
    – BBK
    Commented May 4, 2022 at 12:54
2

Hyper-V and VirtualBox can co-exist on Windows 10. The config step is documented in How to use VirtualBox and Hyper-V together on Windows 10. The gist is

  1. Enable Hyper-V and Windows hypervisor platforms enter image description here
  2. Set Paravirtualization Interface of a guest VM to Hyper-V enter image description here
2

None of this worked for me as of April 2021. This works:

  1. Turn Off Hyper-V
  • Go to "Turn Windows features on or off"
  • Make sure Hyper-V is not ticked. If it is Ticked, untick it and click "Ok".
  1. Disable hypervisor launch
  • Open command prompt window as an administrator
  • Run bcdedit /enum {current}
  • Note down the hypervisorlaunchtype value
  • Run bcdedit /set hypervisorlaunchtype off to disable hypervisor
  • Close the command prompt after executing the commands and restart the system.
1
  • bcdedit /set hypervisorlaunchtype off was already in one of the above answers
    – phuclv
    Commented May 4, 2022 at 12:58
1

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.

1

The only change that worked for me, after trying many tips related here, was:

On some Windows hosts with an EFI BIOS, DeviceGuard or CredentialGuard may be active by default, and interferes with OS level virtualization apps in the same way that Hyper-v does. These features need to be disabled. On Pro versions of Windows you can do this using gpedit.msc (set Local Computer Policy > Computer Configuration > Administrative Templates > System > Device Guard > Turn on Virtualization Based Security to Disabled.

0

I just had to update Virtualbox. I had 6.1.12 and updated to 6.1.26.

-1

Ensure nothing else on your computer is using VT-x. For example, Kaspersky Anti-Virus might be using virtualization to run its secure browser. Disabling this setting, followed by a reboot may fix the issue.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .