Page 1 of 1

WHvCapabilityCodeHypervisorPresent is FALSE!

Posted: 12. Apr 2022, 17:50
by caleb1
I have virtualbox working fine on a Windows 10 Home host.
Trying to set it up on another host PC with Windows 10 Pro.
I am getting the following error when I try to start the Virtual Machine:

Code: Select all

WHvCapabilityCodeHypervisorPresent is FALSE! Make sure you have enabled the 'Windows Hypervisor Platform' feature. (VERR_NEM_NOT_AVAILABLE).
VT-x is not available (VERR_VMX_NO_VMX).

Result Code: 
E_FAIL (0x80004005)
Component: 
ConsoleWrap
Interface: 
IConsole {872da645-4a9b-1727-bee2-5585105b9eed}
Attached is the log file for that machine in a zip file.
VTx is enabled in the BIOS
"Virtualization Technology Directed I/O (VT-d2)" is enabled in the BIOS.

"Windows Hypervisor Platform" is checked/enabled in the windows features.
"Virtual Machine Platform" is checked/enabled in the windows features.
"Hyper-V" is disabled/unchecked in the windows features.
(I had once enabled hyper-v, but then I disabled it after getting this error. Still get the error though)

I read that if hyper-v is enabled it could cause this problem. But I have it disabled in the windows features menu. Is there somewhere else where I need to disable it?
Any ideas what I should try?
Thanks.

HOST PC SPECS: 2x Intel Xeon X5570 (4cores,4threads each), 24GB RAM, Nvidia NVS 510

Re: WHvCapabilityCodeHypervisorPresent is FALSE!

Posted: 12. Apr 2022, 18:19
by scottgus1

Re: WHvCapabilityCodeHypervisorPresent is FALSE!

Posted: 12. Apr 2022, 18:30
by mpack
caleb1 wrote: VTx is enabled in the BIOS.
Not according to the log you provided.

Btw, VT-d is not required. Only VT-x.

If you just turned VT-x on then be aware that you need to fully power down the PC after and restart.

Re: WHvCapabilityCodeHypervisorPresent is FALSE!

Posted: 12. Apr 2022, 21:32
by fth0
On your host, open a command prompt, execute the following commands and provide the results:

Code: Select all

cd "C:\Program Files\Oracle\VirtualBox" 
VBoxManage list hostcpuids

mpack wrote:
caleb1 wrote:VTx is enabled in the BIOS.
Not according to the log you provided.
This conclusion is not necessarily correct. Let me elaborate:

1) VirtualBox first checks the CPU capabilities using the CPUID command. If the CPU doesn't support VMX, MSR or FXSR, VirtualBox throws the VERR_VMX_NO_VMX error. This often happens if another hypervisor (or software) intercepts the CPUID command, just like VirtualBox does inside its guests.

2) In a second step, VirtualBox checks the IA32_FEATURE_CONTROL MSR. If enabling VT-x is not allowed, VirtualBox throws one of the VERR_VMX_MSR_VMX_DISABLED or VERR_VMX_MSR_ALL_VMX_DISABLED errors. This usually happens when VT-x is disabled in the BIOS, which sets the Lock bit of the IA32_FEATURE_CONTROL MSR to disable VT-x.

The requested CPUID results will probably reveal more ...

Re: WHvCapabilityCodeHypervisorPresent is FALSE!

Posted: 13. Apr 2022, 00:57
by caleb1
scottgus1 wrote:Please see HMR3Init: Attempting fall back to NEM (Hyper-V is active).
Doing all the steps from this above link fixed the problem.

Thank you very much!

Re: WHvCapabilityCodeHypervisorPresent is FALSE!

Posted: 13. Apr 2022, 01:03
by scottgus1
Great! Glad you're up and running.