Hyper-V Host Compute Service (vmcompute) cannot be started.

Joms 26 Reputation points
2021-05-12T14:47:08.99+00:00

I'm trying to install Docker with WSL 2 on my Windows 10 machine. I thought it was fairly simple but two days later I'm still struggling to make it work.

I've tracked the problem from not being able to install a Linux Distribution from the Windows Store. I'm getting an error:

WslRegisterDistribution failed with error: 0x80370102 Error: 0x80370102 The virtual machine could not be started because a required feature is not installed.

After some more troubleshooting it is (probably) because I can't run this Hyper-V Host Compute Service:

PS C:\Users\jjj> Start-Service "Hyper-V Host Compute Service"  

Start-Service : Service 'Hyper-V Host Compute Service (vmcompute)' cannot be started due to the following error: Cannot open vmcompute service on computer '.'.  

In Windows Event Viewer I get this:

The Hyper-V Host Compute Service service depends on the Windows Container Isolation service which failed to start because of the following error: The system cannot find the file specified.

I don't know how to solve this cause I can't find any info online. What is Windows Container Isolation and why can't it be found? At this point vmms is working, vmcompute not.

Things I've done:

1.) Enabled SVM Mode in BIOS settings (I was using Virtualbox/Vagrant before so this is enabled already)
2.) Enabled the required Windows Features:

95916-1.png

3.) Installed Linux kernel update package.
4.) Disabled CFG override system settings of vmcompute.exe
5.) Ran bcdedit /set hypervisorlaunchtype auto
6.) Ran systeminfo but getting Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed. It seems like another hypervisor is running. Removing Hyper-V from Windows Features and running this command again I still get the same message. If I removed "Virtual Machines Platform" then the message is gone and the requirements are shown. Here's the weird part though - if I enable Hyper-V again with "Virtual Machines Platform" disabled, the "A hypervisor has been detected." is again displayed, but I still can't start vmcompute!
7.) I've installed HWiINFO and somehow AMD-V is greyed out so it means it's not supported. But I double checked and SVM Mode IS enabled in BIOS. I'm sure that it's enabled because I was using VirtualBox/Vagrant before which are now uninstalled.

System

Windows 10 Version 20H2 build 19042.964

96025-5.png

Hyper-V
Hyper-V
A Windows technology providing a hypervisor-based virtualization solution enabling customers to consolidate workloads onto a single server.
2,560 questions
{count} votes

Accepted answer
  1. JiayaoZhu 3,911 Reputation points
    2021-05-13T03:32:34.903+00:00

    HI,

    Thanks for your posting!

    Based on your descriptions, you really have tried many ways, and here is what I have noticed:

    1) After you disabled CFG override system settings of vmcompute.exe, did you start vmcompute from powershell net start vmcompute (or alternately start the Hyper-V Host Compute Service from the system Services app) and rebooted your computer and try to open your Hyper-V again? In addition, sometimes the above method is not enough, you need to run these commands as well:

    cd "C:\Program Files\Docker\Docker"
    ./DockerCli.exe -SwitchDaemon

    Here is the blog that discuss this method to solve the issue similar to you:

    https://stackoverflow.com/questions/50126279/cant-start-docker-on-windows

    Please note: Information posted in the given link is hosted by a third party. Microsoft does not guarantee the accuracy and effectiveness of information.

    Besides, if you have tried this method and did not work, what error messages or codes you can find? It would be helpful if you could offer me any of these error messages or codes.

    Here is an article in which the blogger failed to use this method "disabled CFG override system settings of vmcompute.exe" but his or her system version did not add container service. So I guess this can be a comparable test for you to research on your own issue:

    https://github.com/MicrosoftDocs/Virtualization-Documentation/issues/945

    Please note: Information posted in the given link is hosted by a third party. Microsoft does not guarantee the accuracy and effectiveness of information.

    2) I think the order that you run your commands in 5) and 6) is not appropriate and that may be the reason you encountered the error message. After disable hyper-v feature on your computer and restart your installation of Hyper-V, the correct order of running commands should be:

    -Running systeminfo in command prompt shows that the host is ready for Virtualisation
    -Running "bcdedit /set {current} hypervisorlaunchtype auto" to enable hypervisor in bcdedit
    -Running bcdedit again to make sure your hypervisor is enabled in your computer
    -After rebooting the server virtual machines started with no issues.

    Here is the article that explain more about the commands:

    https://www.mysysadmintips.com/windows/servers/876-virtual-machine-could-not-be-started-because-the-hypervisor-is-not-running

    Please note: Information posted in the given link is hosted by a third party. Microsoft does not guarantee the accuracy and effectiveness of information.

    3) You mentioned Windows Container Isolation service, and I think this should be the core cause that led to your issue. And I found an article that can help you better understand this service, which can then help you understand your issue:

    https://learn.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility?tabs=windows-server-20H2%2Cwindows-10-20H2

    From my perspective, I guess an incompatible hypervisor prevents Hyper-V from working, I will keep working on this issue and let you know as soon as I find something useful.

    Thanks for your support and patience!

    BR,
    Joan


    If the Answer is helpful, please click "Accept Answer" and upvote it.

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.


1 additional answer

Sort by: Most helpful
  1. Yogi 346 Reputation points
    2021-05-13T15:15:29.32+00:00

    You can simple use WSL 2 and docker will work. I am using docker on my windows home edition using wsl 2, home edition does not has hyper v. Please see this link:
    Docker Windows and WSL 2