Skip to content
ohsudo, Home
Windows

Hyper-V "the hypervisor is not running": turn it on, in the firmware and at boot

Fix Hyper-V "Virtual machine could not be started because the hypervisor is not running": enable virtualization in the firmware, set hypervisorlaunchtype to auto.

Intermediate3 min readApplies to Hyper-V · Windows 10 Pro · Windows 11 Pro · Windows Server 2016+

by OhSudo ·

Virtual machine 'web01' could not be started because the hypervisor is not running.

The Hyper-V tools are installed, and the program that actually runs virtual machines didn’t load when Windows started. It has to load very early at boot, so changing it always takes a restart. Windows tells you nothing more at first, but there are only a few causes.

TL;DR

In an administrator PowerShell:

Terminal window
systeminfo | Select-String "Hyper-V|hypervisor"
bcdedit /enum | Select-String hypervisorlaunchtype
bcdedit /set hypervisorlaunchtype auto
Restart-Computer

If systeminfo says virtualization is off in the firmware, turn that on first.

1. See which it is

Terminal window
systeminfo | Select-String "Hyper-V|hypervisor"
You see Means Go to
A hypervisor has been detected It’s running now, so your error has another cause Section 5
Virtualization Enabled In Firmware: No It’s off in the BIOS or UEFI Section 2
Second Level Address Translation: No This CPU can’t run Hyper-V Section 2
All Yes, and no hypervisor It’s turned off at boot Section 3

2. Turn it on in the firmware

Restart, and enter the BIOS or UEFI setup, usually with F2, F10, F12 or Del. Look for:

  • Intel Virtualization Technology (VT-x)
  • SVM Mode or AMD-V, on AMD
  • Execute Disable or No-Execute (NX), which is also required

They’re often under Advanced or CPU Configuration. After changing them, some machines need a full power off, not only a restart, to apply them.

3. The boot setting

This setting decides whether the hypervisor loads:

Terminal window
bcdedit /enum | Select-String hypervisorlaunchtype

Off is the classic cause, as other virtualization software and some troubleshooting guides turn it off. Turn it back on, and restart:

Terminal window
bcdedit /set hypervisorlaunchtype auto
Restart-Computer

If nothing is printed, then Hyper-V may not be fully installed, so check the next section.

4. Is Hyper-V installed?

Terminal window
# Windows Server
Get-WindowsFeature Hyper-V
Install-WindowsFeature Hyper-V -IncludeManagementTools -Restart
# Windows 10 and 11, Pro or Enterprise
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

Windows Home editions don’t include it. WSL 2 and Docker Desktop still work there, through Virtual Machine Platform: see WSL error 0x80370102, which has a very similar cause.

5. Windows is in a virtual machine itself

Then the outer system has to pass virtualization through. On a Hyper-V host, with the virtual machine turned off:

Terminal window
Set-VMProcessor -VMName "MyWindowsVM" -ExposeVirtualizationExtensions $true

In VMware, turn on Virtualize Intel VT-x/EPT or AMD-V/RVI. On Azure, choose a size that supports nested virtualization.

6. Check it’s running

After the restart:

Terminal window
systeminfo | Select-String "hypervisor"
Get-Service vmms, vmcompute | Format-Table Name, Status
Start-VM web01

If it still doesn’t load, the event log tells you why:

Terminal window
Get-WinEvent -LogName 'Microsoft-Windows-Hyper-V-Hypervisor-Admin' -MaxEvents 10 | Format-List TimeCreated, Message
Get-WinEvent -LogName System -MaxEvents 50 | Where-Object ProviderName -like '*Hyper-V*' | Format-List TimeCreated, Message

A driver that conflicts with the hypervisor, or a recent firmware update that reset the settings, are common findings here.

Other software: recent versions of VMware and VirtualBox can run alongside Hyper-V, though older ones can’t. If you need one of those older ones, keep two boot entries rather than switching back and forth:

Terminal window
bcdedit /copy {current} /d "Windows without Hyper-V"

Then set hypervisorlaunchtype off on the new entry’s ID, and choose it at boot.

Warning

Turning on Hyper-V affects the whole machine: Windows itself then runs on top of the hypervisor. Do it during a maintenance window on a server, and check that its network adapters still work afterwards, since virtual switches can change them.

Shell, we have a problem!

Similar, but different: The application encountered an error while attempting to change the state often means a missing file or snapshot, and the detailed text underneath says which. Not enough memory in the system to start the virtual machine is about memory, with a running hypervisor. And on Linux, the closest thing is a missing /dev/kvm, for the same firmware reason. Docker Desktop asking for a WSL update: see WSL 2 installation is incomplete.

Found this useful? Share it.

Found a mistake? Let us know at contact@ohsudo.com.

Articles

Related articles