In this article, we’ll look at how to troubleshoot and fix issues that might prevent virtual machines from starting on a Windows computer running the Hyper-V hypervisor role.
In our case, an error occurred when trying to start a virtual machine from the Hyper-V Manager console:
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 indicates that the Windows computer is not running Hyper-V services or its BIOS/UEFI settings have been changed so that the device hardware no longer supports virtualization.
Table of Contents
Check Hyper-V Role Core Services on Windows
In order to run virtual machines on Windows, the host must have the Hyper-V role installed and the core hypervisor services must be running.
Check that the Hyper-V role is installed with the PowerShell command:
On Windows Server 2022/2019/2016:
Get-WindowsFeature -Name Hyper-V
On Windows 10 and 11:
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
If the Hyper-V role is missing, you need to install it.
Then check the status of the two core Hyper-V services: Hyper-V Host Compute Service and Hyper-V Virtual Machine Management. You can check the services state from the services.msc console or with the PowerShell command:
Get-Service vmcompute,vmms
In our case, both services are in the Stopped state. Try starting them manually with the PowerShell command:
Start-Service vmcompute,vmms
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 ‘
Hyper-V Hardware Requirements
Next, check that your computer meets the Hyper-V role hardware and software requirements:
- Operating system: Windows Server or Windows 10/11 Enterprise, Pro, or Education editions (you cannot install Hyper-V on Windows Home);
- CPU: 64-bit Processor with Second Level Address Translation (SLAT) with support a number of key virtualization features: Hardware assisted virtualization (Intel VT or AMD-V), Hardware based Data Execution Prevention (DEP) (AMD NX or Intel XD), VM Monitor Mode Extension (VT-c on Intel CPUs). Refer to the CPU manufacturer’s specification for specific CPU features;
- Virtualization support turned on in the BIOS or UEFI settings.
Run the systeminfo command to check if your CPU meets the Hyper-V requirements. Scroll down to the Hyper-V Requirements section. The following items should be listed here:
- VM Monitor Mode Extensions: Yes
- Virtualization Enabled In Firmware: Yes
- Second Level Address Translation: Yes
- Data Execution Prevention Available: Yes
- If all items are Yes, then all you need to do is install the Hyper-V role.
- If it says “A hypervisor has been detected. Features required for Hyper-V are not displayed“, this means that the role is already installed.
- If Virtualization Enabled in Firmware is No, you must enable virtualization support in the BIOS/UEFI settings.
Although a CPU may include support for hardware-assisted virtualization, many computers do not have this feature enabled by default. Restart the device, enter the BIOS/UEFI configuration menu, ensure that the appropriate virtualization feature is enabled.
Search for the CPU configuration section, then look for the following firmware options if available and enable them:
- Intel Virtualization Technology (VT-X), AMD-V, Virtualization Extensions, or Vanderpool;
- Intel VT-d or AMD IOMMU;
- Data Execution Prevention (DEP);
- SVM mode option (on AMD devices);
- Specific BIOS settings on HPE servers: ‘Intel(R) Virtualization Tech’ and ‘No Execute Memory Protection’.
Enable virtualization options in the firmware settings, boot Windows and install the Hyper-V role.
The 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.
Reinstall Hyper-V Role on Windows
If all requirements are met and Hyper-V virtual machines won’t start, try to reinstall the Hyper-V role.
- Run optionalfeatures command to open the Turn Windows features on or off dialog;
- Go to the 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.
- Disable Hyper-V components:
Disable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform,Microsoft-Hyper-V-All,Microsoft-Hyper-V,Microsoft-Hyper-V-Hypervisor
- Restart your computer:
Restart-Computer
- Enable 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
Uninstall Problematic Security Updates
After installing the January 2022 security updates on Windows Server R2 with the Hyper-V role, they fail with the following error:
SERVER-NAME failed to restore virtual machine state.
Virtual machine SVR1 cannot be started because the hypervisor is not running.
The following actions may help you resolve the problem:
- Verify that the processor of the physical computer has a supported version of hardware-assisted virtualization.
- 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.)
- If you have made changes to the Boot Configuration Data store, review these changes to ensure that the hypervisor is configured to launch automatically.
The problem only occurred on Hyper-V hosts with Unified Extensible Firmware Interface (UEFI) native mode enabled.
This problem is caused by a bug in the KB5009624 and KB5009624 security updates. To quickly fix the problem, you can uninstall the updates using the commands:
wusa /uninstall /kb:5009624 wusa /uninstall /kb:5009595
Or you can manually download and install the KB5010794 update that addresses this bug.
11 comments
January 11 2022:
On windows server 2012r2 running Hyper-V some windows updates caused this issue:
KB5009586 or KB5009624
Remove the update and reboot and all should be good.
This worked like charm. Thanks much for the information. Really appreciate.
Sean, you’re a champion.
This is the best solution and work perfectly!! Thank you for sharing the solution. Hope you have a great day.
The best solution and work perfectly!! Thanks for sharing the solution. Hope you have a great day.
Thank you Cyril Kardashevsky and Sean Laurence
Remove the KB5009624 update and reboot and all good now
Thank you so much, Cluster broke and the servers were not coming back up…. removing those updates fixed the issue!
Microsoft posted a fix for this 1/17/2022 but you have to download it from the Update Catalog for the Server 2012R2 and windows 8 fixes. See
https://docs.microsoft.com/en-us/troubleshoot/windows-server/virtualization/virtual-machine-not-started-hypervisor-not-running
It worked for me
Thank you, I patched the server today 25.01.2022 and the same issue happened, guess the issue is not solved after the fix.
uninstalling the patches helped.
My Virtual Switch Manager was not working at all, one day and a half trying to get it to work. Removing the Hyper-V and installing it fixes the problem. Genius you are.
Hi, Many thanks for your article. May be the most complete I read ! In my case, I am not able to start a VM whatever it is (Hyper-V on Windows 11). I get a path not found error (0x80070003). I checked all the pre requisite for Hyper-V and it’s ok. I uninstalled all the other virtualization software (e.g Virtualbox, WSL, etc …). I uninstalled/reinstalled Hyper-V but still the same problem. I suspect permision problem on Hyper-V folders but I deleted/recreated them but nothing changed. Do you have any idea ?