129
47
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?
41To 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 – 2016-12-06T15:43:41.060
@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 – 2016-12-06T19:49:02.837
2For completeness: this can also happen with some viruses that use VT-x to hide from the operating system. These are seldom though. – Simon Richter – 2016-12-06T19:51:13.603
@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 – 2016-12-06T20:07:24.163
@SimonRichter In my over 20 years of being a sysadmin I've never encountered one of those in the wild (although I know they do exist). And with most PC manufacturers disabling VT-x in the Bios as default setting (for precisely this reason) I don't expect to see any major outbreak of such viruses in the future either. – Tonny – 2016-12-06T20:11:29.990
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 – 2016-12-07T06:45:10.837This works but VBox in Win10 is a lot slower than VBox in Win7. I would like blame MS for this. – Tae-Sung Shin – 2018-04-30T18:05:35.453
4Additionally the [Virtual Machine Platform] windows feature should also be disabled. – lintabá – 2019-02-02T15:27:02.777
@lintabá YES! That did the trick for me. Thanks!!! – AntonioCS – 2019-04-02T16:28:03.300
4Looks like in newer Windows 10 Builds the Feature has a different name, HypervisorPlatform, so you need:
dism.exe /Online /Disable-Feature:HypervisorPlatform
– Aganju – 2019-04-21T02:03:17.867@Aganju - Looks like that has existed since at least 2016 according to this Microsoft article but it says you only need to disable the Hyper-V service and not the whole Microsoft Hyper-V Platform. But correct me if I'm wrong (although disabling the whole platform probably disables the individual Hyper-V service anyway so probably works that way as well).
– n8te – 2019-04-21T02:18:47.420dism
now claims it doesn't even recognizeMicrosoft-Hyper-V
as a feature. That made me assume it's renamed. – Aganju – 2019-04-21T04:42:19.1002019: Windows 10 1903 + Sandbox - you will have to issue this command EVEN if you remove Sandbox in Programs and Features. And yes, Hyper-V is NOT enabled there either. ✝ – Apache – 2019-05-13T19:34:13.047
2019: Windows 10 Enterprise Build 18362, none of the things in the answer and the comments work. I always get an error message 'VT-x is not available'. – Wiste – 2019-07-18T09:28:36.887
1I installed docker, uninstalled docker, un-enabled Hyper-V from Windows Default Applications. Still wouldn't work. Only running this command from line, re-enabled Virtual Box support. – Jahmic – 2019-11-18T16:18:01.417
I had the same issue as @Jahmic and running this command instead of manually disabling hyper-v did the trick indeed – PtrTon – 2019-12-26T17:49:32.670