Failed to start the virtual machine 'MobyLinuxVM' because one of the Hyper-V components is not running
DockerWindows Server-2016Vmware WorkstationDocker Problem Overview
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
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.
Docker Solutions
Solution 1 - Docker
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 - Docker
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 - Docker
Hi all I have found the answer to deal with this problem hopefully this content can help someone who has the same issue.
Mandarin reference URL
Solution 4 - Docker
Enabling Hyper-V feature is not enough in Azure VM. You have to have "Nested virtualization" enabled, so according to documentation you should choose v3
sized VM:
> all v3 virtual machines support nested virtualization
After resizing, VM will be restarted and DockerVM in Hyper-V will run.
Solution 5 - Docker
This is a nested virtualization issue to fix it running VMWare 6.5 and Windows 10 guest turn off the VM and select the option to Expose hardware assisted virtualization to the guest OS.
Solution 6 - Docker
-
Open up a PowerShell or CMD session as Administrator.
-
Type the following command:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
Solution 7 - Docker
I went to docker settings and in General
section selected to install the other version
(bottom of the page as link). I initially installed the stable
, changed for beta
/ edge.
That worked without any issues.
Solution 8 - Docker
Actualy the reason is you have not enabled ExposeVirtualizationExtensions on host.
Shut down nested VM.
Run PS command on host:
Set-VMProcessor -VMName "NESTED VM NAME" -ExposeVirtualizationExtensions $true
And then start nested VM (with docker in it) again.
Solution 9 - Docker
VMWare
For VMWare, to enable hardware virtualization on the Guest OS, you do it from the VMWare web client. Note that the traditional desktop client does not have the option to enable hardware virtualization on Guest OS. Remember to shut down guest OS first else the option will be disabled.
Also see: https://github.com/docker/for-win/issues/4470#issuecomment-519511295
Windows Hypervisor
If your doing virtualization using Windows Hypervisor and not something like VM Ware, in that case run below command from host machine:
Set-VMProcessor MyVM2 -ExposeVirtualizationExtensions $true
See: https://github.com/docker/for-win/issues/4470#issuecomment-579529145