我已经安装了Docker,当我运行GUI时,我得到这个错误:

硬件辅助虚拟化和数据执行保护必须 在BIOS中启用

似乎是一个bug,因为Docker在命令行中工作得很好,但我想知道是否有人知道为什么会发生这种情况?

在你问之前,是的,我已经在BIOS中启用了虚拟化,并且英特尔处理器识别实用程序确认它已被激活。Docker, Docker -machine和Docker -compose都可以在命令行中工作,Virtualbox可以,在Debian或Ubuntu虚拟机中运行Docker也可以。

GUI有个奇怪的问题。

我的规格:

Windows 10 Pro x64周年纪念版 英特尔酷睿i5-6300HQ @ 2.30GHz


当前回答

@Silverstorm

我在BIOS中安装了Hyperv并启用了虚拟化。

但是A方案并不适合我。

然而,解决方案B非常有效。

解决方案B(如果Hyper-V功能已经启用但不工作)

使用

Bcdedit /set hypervisor启动类型auto 现在重新启动系统并重试。

其他回答

您可以尝试手动启用Hyper-V,并手动创建和运行Hyper-V虚拟机吗?细节:

https://docs.docker.com/docker-for-windows/#/what-to-know-before-you-install https://msdn.microsoft.com/en-us/virtualization/hyperv_on_windows/quick_start/walkthrough_install

如果启用了所描述的特性,则问题在于Hyper-V被禁用或Hypervisor代理未运行。

解决方案A(如果Hyper-V完全禁用或未安装)

以管理员身份打开PowerShell 启用Hyper-V dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

解决方案B(如果Hyper-V功能已经启用但不工作)

使用

bcdedit /set hypervisorlaunchtype auto

现在重新启动系统并重试。

解决方案C

如果问题仍然存在,可能是系统上的Hyper-V损坏了,所以

进入控制面板->[程序]-> [Windows功能],完全取消选中所有Hyper-V相关组件。重新启动系统。 再次启用Hyper-V。重新启动。

注1:

Hyper-V needs hardware virtualization as prerequisite. Make sure your PC supports it, if yes and still won't work, there is the possibility your BIOS is not configured correctly and this feature is disabled. In this case, check, enable it and try again. The virtualization features could be reported under different names according the platform used (e.g if you don't see any option that uses virtualization label explicitly, on AMD you have to check SVM feature state, on Intel the VT-x feature state).

注2:

Hyper-V只能安装某些版本,例如:

Windows 10企业版;Windows 10 Professional;Windows 10教育。

Hyper-V不能安装在便宜的或移动的Windows版本上,例如:

Windows 10家庭版;Windows 10 Mobile;Windows 10移动企业。

@Silverstorm

我在BIOS中安装了Hyperv并启用了虚拟化。

但是A方案并不适合我。

然而,解决方案B非常有效。

解决方案B(如果Hyper-V功能已经启用但不工作)

使用

Bcdedit /set hypervisor启动类型auto 现在重新启动系统并重试。

在我的例子中,我必须在BIOS设置中启用虚拟化。

重新启动电脑 当你在“重启”屏幕上按下这些键中的任何一个,你进入windows中的bios设置:esc, f1, f2, f3, f4, f8或delete 对于基于英特尔的系统: 按f7(高级模式) 转到高级 注册会计师的配置 支持虚拟化

在以上所有步骤之后,它终于工作了:-)

遵循以下步骤:

进入:windows设置=>更新和安全=>恢复=>高级启动,然后单击:立即重新启动。 故障排除=> Advanced Option => UEFI Firmware =>重启。 进入“Bios => configuration => Virtualization technology =>”。 保存更改,它就会工作。