In this article, we will take a look at how to fix the error when starting virtual machines on a Windows host with the Hyper-V role: Virtual machine could not be started because the hypervisor is not running.
Below is the full text of the error:
An error occurred while attempting to start the selected virtual machine(s).
VMname failed to start.
Virtual machine VMName could not be started because the hypervisor is not running.
This error means that the Microsoft Hyper-V core service is not running on this host. Check the status of the two primary services that enable Hyper-V virtual machines to run — Hyper-V Host Compute Service and Hyper-V Virtual Machine Management. Open the services.msc console and check the status of the services there. Or open a PowerShell command prompt with administrator permissions and check the status of the services using the command:
In our case, both services are in the Stopped state. Try starting them manually with the PowerShell command:
However, the services did not start with the error:
start-Service : Service ‘Hyper-V Host Compute Service (vmcompute)’ cannot be started due to the following error: Cannot start service vmcompute on computer ‘
For Hyper-V services to run on a computer, your device must meet the following requirements:
- Hardware virtualization support must be enabled in BIOS/UEFI settings. This option may have different names depending on the BIOS version and CPU model. For example, Intel Virtualization Technology (VT-X), AMD-V, Virtualization Extensions, Vanderpool. Change the option value to Enable. Also, enable Intel VT-d or AMD IOMMU options if available in your BIOS;
On AMD devices, you need to additionally check if the SVM mode option is enabled in the BIOS. SVM support (Support Vector Machine) allows you to enable the AMD SVM (Secure Virtual Machine) private group.
On HP servers, also check if the following BIOS options are enabled: Intel(R) Virtualization Tech and No Execute Memory Protection. The last option provides support for Data Execution Prevention (DEP).
- Your CPU should be SLAT compatible (Second Level Address Translation). Check your processor’s specification on the vendor’s website and make sure it supports SLAT. On Intel processors, support for SLAT is provided by EPT (Extended Page Table) technology. On AMD CPUs it’s being provided by RVI (Rapid Virtualization Indexing). On Windows, you can check if your computer has SLAT support with the command:
systeminfo|find “Second Level”
It should return the string:
Second Level Address Translation: Yes.
You can also use a free utility to determine the capabilities of the processor Microsoft Sysinternals:
- Check if DEP is enabled in BIOS and Windows settings. Data Execution Prevention (DEP) is system-level memory protection. Press Win+Pause > Advanced System Settings > Performance > Settings > Data Execution Prevention tab. Make sure the option Turn on DEP for essential Windows programs and services only is enabled.
To verify if all options required for Hyper-V work are available and enabled, run the systeminfo command. Scroll down to the Hyper-V Requirements section. It should return:
Hyper-V Requirements: VM Monitor Mode Extensions: Yes
Virtualization Enabled In Firmware: Yes
Second Level Address Translation: Yes
Data Execution Prevention Available: Yes
Configure Hyper-V to start automatically with the command:
bcdedit /set HypervisorLaunchType auto
This command adds the hypervisor autostart option to your boot configuration data file.
If all the prerequisites are complete and the Hyper-V virtual machines won’t start, try reinstalling the Hyper-V role.
- Go to the Search bar and type Windows Features > Turn Windows features on or off;
- Go to Hyper-V > Hyper-V Platform section and disable Hyper-V Hypervisor and Hyper-V Services features. Restart your computer and then re-enable these features.
On Windows 10 and Windows 11, you can reinstall Hyper-V services using PowerShell cmdlets. To disable Hyper-V components:
Disable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform,Microsoft-Hyper-V-All,Microsoft-Hyper-V,Microsoft-Hyper-V-Hypervisor
Restart your computer:
Then enable the Hyper-V features:
Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform,Microsoft-Hyper-V-All,Microsoft-Hyper-V,Microsoft-Hyper-V-Hypervisor
On Windows Server 2019/2016/2012R2, use the following commands to re-install the Hyper-V role:
Remove-WindowsFeature -Name Hyper-V
Install-WindowsFeature -Name Hyper-V
Fix: Virtual Machine could not be started because the hypervisor is not running on Windows Server 2012 R2
In early 2022, after installing January security updates on Windows Server 2012 R2 hosts with the Hyper-V role, they fail with the error “Virtual machine SVR1 cannot be started because the hypervisor is not running.” The issue only appeared on Hyper-V hosts with Unified Extensible Firmware Interface (UEFI) enabled.
The following errors appeared in the System Event Logs:
Error ID: 80
Hypervisor launch failed; The operating systems boot loader failed with error 0xC00000BB.
Error ID: 15350
The virtualization infrastructure driver (VID) is not running.
Error ID: 15160
‘MACHINE NAME’ failed to restore virtual machine state.
Error ID: 20148
Virtual machine ‘SVR1’ could not be started because the hypervisor is not running The following actions may help you resolve the problem: 1) Verify that the processor of the physical computer has a supported version of hardware-assisted virtualization. 2) Verify that hardware-assisted virtualization and hardware-assisted data execution protection are enabled in the BIOS of the physical computer. (If you edit the BIOS to enable either setting, you must turn off the power to the physical computer and then turn it back on. Resetting the physical computer is not sufficient.) 3) If you have made changes to the Boot Configuration Data store, review these changes to ensure that the hypervisor is configured to launch automatically.
This issue is caused by buggy security updates KB5009624 and KB5009624. To quickly fix the problem, you can simply uninstall the updates using the commands:
wusa /uninstall /kb:5009624
wusa /uninstall /kb:5009595
However, it is better to download and install hotfix KB5010794, which should fix this bug. This update is not distributed through Windows Update, so you must download it manually from the Microsoft Update Catalog.
- Go to https://www.catalog.update.microsoft.com/Search.aspx?q=KB5010794
- Download the MSU update file for your version of Windows;
- Install the MSU update using the Windows Update Standalone Installer by double-clicking on it;
- Restart your Hyper-V host.