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

新手上路,请多包涵

当我使用 Window Server 安装 Docker 时遇到了一些问题。

环境清单:

1 Windows 10(物理机)

2.VMware® Workstation Player(12~以上) 网址

3.虚拟机上的Windows Server 2016

4.Docker CE for Windows(stable) URL

问题图片和内容

在此处输入图像描述

 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

我该如何解决这个问题,谢谢。

原文由 Willie Cheng 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 2.4k
2 个回答

大家好,我找到了解决这个问题的答案,希望这个内容可以帮助有同样问题的人。

1.在虚拟机设置中设置虚拟机(如下图) 在此处输入图像描述

在此处输入图像描述

  1. 在 Windows Server 2016 中设置 Hyper-V(如下图) 在此处输入图像描述

普通话参考 网址

原文由 Willie Cheng 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果您在安装了 Docker 的 Azure Windows 10 VM 上遇到此错误,并且这已经是支持 嵌套虚拟化的 VM ,则这是一个 解决方案,换句话说,您的 Azure VM 必须是 V3 大小 为最小值( DV3EV3 ):

  • 确保通过运行 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

仍然有问题并且尚未重新启动?! - 只需通过运行以下命令重新启动 Windows 服务:

 net stop vmms
net start vmms

原文由 Emil 发布,翻译遵循 CC BY-SA 4.0 许可协议