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.
What are the requirements to run Hyper-V?
In order to effectively run Hyper-V, your computer needs to meet several hardware and software prerequisites. Let’s break them down:
- Hardware virtualization support: This must be enabled in your computer’s BIOS/UEFI settings. The option may be listed as Intel Virtualization Technology (VT-X), AMD-V, Virtualization Extensions, or Vanderpool.
- Intel VT-d or AMD IOMMU options: If these options are available in your BIOS settings, they should be enabled.
- SVM mode option: For AMD devices, ensure this mode is enabled in your BIOS.
- Specific BIOS settings on HP servers: The options ‘Intel(R) Virtualization Tech’ and ‘No Execute Memory Protection’ must be enabled.
- SLAT compatibility: Your CPU should be compatible with Second Level Address Translation (SLAT). Check your processor’s specification on the vendor’s website for confirmation.
- DEP enablement: Data Execution Prevention (DEP) should be enabled in both BIOS and Windows settings.
- Check Hyper-V requirements: Run the systeminfo command to verify that all required options for Hyper-V are available and enabled. The output should indicate ‘Yes’ for VM Monitor Mode Extensions, Virtualization Enabled In Firmware, Second Level Address Translation, and Data Execution Prevention Available.
ERROR: Virtual machine could not be started because the hypervisor is not running
Below is the full text of the error message:
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.
What does the error message mean?
This error means 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 service status using the command:
In our case, both services are in the Stopped state. Try starting them manually with the following command in PowerShell:
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 ‘
Settings to check for troubleshooting
For Hyper-V services to run on a computer, your device must meet the following requirements for CPU configuration:
- Hardware virtualization support must be enabled in BIOS/UEFI settings. Depending on the BIOS version and CPU model, this option may have different names. 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 BIOSsettings;
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.
Also, check if the following BIOS options are enabled on HP servers: 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.
Verifying Hyper-V Requirements using Systeminfo
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.
Reinstall Hyper-V components
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 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.
Frequently Asked Questions
- What does the error “Virtual machine could not be started because the hypervisor is not running” mean?
This error means the core services of Microsoft Hyper-V are not running on your host. Check the status of the Hyper-V Host Compute Service and Hyper-V Virtual Machine Management services.
- What are the CPU configuration requirements for running Hyper-V services?
Hardware virtualization support must be enabled in BIOS/UEFI settings. Your CPU should support SLAT (Second Level Address Translation). Certain BIOS options must be enabled depending on the device brand, and DEP (Data Execution Prevention) should be enabled in BIOS and Windows settings.
- How can I check if my computer meets the requirements to run Hyper-V?
You can check these requirements through BIOS settings, the vendor’s website, systeminfo command, and a Microsoft Sysinternals utility called coreinfo.exe.
- How do I ensure Hyper-V starts automatically?
Use the command bcdedit /set HypervisorLaunchType auto to configure Hyper-V to start automatically. This adds the hypervisor autostart option to your boot configuration data file.
- What if the Hyper-V virtual machines won’t start even after meeting all prerequisites?
Try reinstalling the Hyper-V role. In Windows 10/11, you can use PowerShell cmdlets to disable and then enable Hyper-V components. On Windows Server 2019/2016/2012R2, use certain commands to reinstall the Hyper-V role.
Tackling technical difficulties like the “Virtual machine could not be started because the hypervisor is not running” error may seem complex. However, you can get to the bottom of the issue using the troubleshooting steps provided.
Remember first to check if the primary Hyper-V services are running. If they aren’t, you can attempt to start them manually using PowerShell commands. If you encounter further issues, you might need to dive deeper into the CPU configuration, enabling specific BIOS/UEFI settings features and ensuring your CPU meets the requirements for running Hyper-V.