无法启动虚拟机“MobyLinuxVM”,因为其中一个Hyper-V组件未运行

时间:2018-01-15 01:24:21

标签: docker windows-server-2016 vmware-workstation

使用Window Server安装Docker时遇到了一些问题 环境清单:

  

1 Windows 10(物理机)
  2.VMware®WorkstationPlayer(12~以上)URL
  3.Windows Server 2016在VM上   4.Docker CE for Windows(稳定版)URL

问题图片和内容
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

如何解决此问题,谢谢。

9 个答案:

答案 0 :(得分:21)

如果这有助于其他人解决此问题,我发现从管理员命令提示符运行这些命令修复了我的Hyper-V问题:

net stop vmms 
net start vmms

然后我能够毫无问题地启动我的docker容器。

答案 1 :(得分:14)

大家好我已经找到了解决这个问题的答案,希望这些内容可以帮助那些有同样问题的人 1.在虚拟机设置下设置VM(如下图所示) enter image description here

enter image description here

  1. 在Windows Server 2016中设置Hyper-V(如下图所示) enter image description here
  2. 普通话参考URL

答案 2 :(得分:13)

如果您在已安装Docker的 Azure Windows 10 VM 上收到此错误,则解决方案

  
      
  • 确保通过运行PowerShell cmdlet启用Windows Hyper-V功能:
  •   

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

  
      
  • 通过运行PowerShell cmdlet确保启用Windows容器功能:
  •   

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

  
      
  • 通过在提升的命令提示符中运行命令,确保Hypervisor在引导配置数据库(BCD)中设置为自动启动:
  •   

bcdedit /set hypervisorlaunchtype Auto

运行上述所有内容并重新启动Azure VM后,Docker应该正常启动。

  

除了上面的答案,用于设置虚拟机设置的PowerShell cmdlet是:

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

答案 3 :(得分:3)

  1. 以管理员身份打开PowerShell或CMD会话。

  2. 键入以下命令:

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

答案 4 :(得分:2)

我去了docker设置,并在General部分中选择安装other version(页面底部为链接)。我最初安装了stable,更改为beta / edge。

那没有任何问题。

答案 5 :(得分:2)

在Azure VM中启用Hyper-V功能还不够。您必须启用“嵌套虚拟化”,因此根据documentation,您应该选择v3大小的VM:

  

所有v3虚拟机均支持嵌套虚拟化

调整大小后,将重新启动VM,并在Hyper-V中运行DockerVM。

答案 6 :(得分:1)

这是一个嵌套的虚拟化问题,可修复运行VMWare 6.5和Windows 10 guest虚拟机的虚拟机,并关闭VM,然后选择将硬件辅助虚拟化暴露给guest虚拟机操作系统的选项。

enter image description here

答案 7 :(得分:0)

这些步骤在Windows 10 Pro v1809中对我有用。首先,关闭Docker错误窗口。然后

开始> Windows安全应用程序>应用程序和浏览器控制>漏洞利用保护>漏洞利用保护设置>程序设置> vmcompute.exe>编辑>代码流防护(CFG)>

Uncheck "Override system settings" > Apply

在提升的cmd窗口启动服务中

net start vmcompute

然后再次启动Docker Desktop,应该这次启动

答案 8 :(得分:0)

从本质上讲,原因是您尚未在主机上启用ExposeVirtualizationExtensions。
关闭嵌套的VM。 在主机上运行PS命令:

Set-VMProcessor -VMName "NESTED VM NAME" -ExposeVirtualizationExtensions $true

然后再次启动嵌套的VM(其中包含docker)。