Failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running

I have got some problem when I installed Docker with Window Server.
The environment list:

1 Windows 10 (Physical Machine)
2.VMware® Workstation Player (12~ above) URL
3.Windows Server 2016 at the VM
4.Docker CE for Windows(stable) URL

the problem picture and content
enter image description here

Unable to start: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 'MobyLinuxVM' failed to start.

Failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running.

'MobyLinuxVM' failed to start. (Virtual machine ID BBD755F7-05B6-4933-B1E0-F8ACA3D2467B)     

The Virtual Machine Management Service failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running (Virtual machine ID BBD755F7-05B6-4933-B1E0-F8ACA3D2467B).
at Start-MobyLinuxVM, <No file>: line 315
at <ScriptBlock>, <No file>: line 410
   at Docker.Backend.ContainerEngine.Linux.DoStart(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Linux.cs:line 256
   at Docker.Backend.ContainerEngine.Linux.Start(Settings settings, String daemonOptions) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Backend\ContainerEngine\Linux.cs:line 130
   at Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.<Register>b__0(Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 47
   at Docker.Core.Pipe.NamedPipeServer.RunAction(String action, Object[] parameters) in C:\gopath\src\github.com\docker\pinata\win\src\Docker.Core\pipe\NamedPipeServer.cs:line 145

How can I fix this problem issue,Thanks.


Solution 1:

Here is a solution if you are getting this error on an Azure Windows 10 VM where you have installed Docker and this is already Nested Virtualization capable VM in other words your Azure VM must be V3 sized as minimum (DV3 or EV3):

  • Ensure Windows Hyper-V featutes are enabled by running PowerShell cmdlet:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -Verbose

  • Ensure Windows Containers feature is enabled by running PowerShell cmdlet:

Enable-WindowsOptionalFeature -Online -FeatureName Containers -All -Verbose

  • Ensure Hypervisor is set to auto start in the Boot Configuration Database (BCD) by running in elevated command prompt the command:

bcdedit /set hypervisorlaunchtype Auto

After running all of the above and you restart the Azure VM, Docker should be starting normally.

In addition to the Answer above the PowerShell cmdlet to set the Virtual Machine Setting is:

Set-VMProcessor -VMName <Enter-VM-Name> -ExposeVirtualizationExtensions $true -Verbose

Still have an issue and haven't rebooted yet?! - just restart the windows services by running the following:

net stop vmms 
net start vmms

Solution 2:

In case this helps anyone else getting this issue, I found that running these commands from an admin command prompt fixed my Hyper-V issue:

net stop vmms 
net start vmms

I then was able to start my docker container without issue.

Solution 3:

Hi all I have found the answer to deal with this problem hopefully this content can help someone who has the same issue.
1. to setup VM at Virtual Machine Settings (like as following picture) enter image description here

enter image description here

  1. to setup the Hyper-V in the Windows Server 2016 (like as following picture) enter image description here

Mandarin reference URL