我已经安装了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 现在重新启动系统并重试。

其他回答

如果上述方案不奏效,那么 进入命令提示符并输入systeminfo。检查Hyper-V要求部分。 如果列出的所有Hyper-V需求的值都为Yes,则系统可以运行Hyper-V角色。 在我的情况下,固件中的虚拟化启用是NO。 因此,我在系统bios中启用了虚拟化技术,在我的惠普笔记本电脑中启用了虚拟化技术。 请按此连结启用: https://2nwiki.2n.cz/pages/viewpage.action?pageId=75202968

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

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

再次启用Hyper-V。重新启动。

我也用vagrant。看来我一次只能用一件东西。卸载vagrant/virtualBox允许我运行docker,反之亦然

通过“设置”开启Hyper-V角色 右键单击Windows按钮/图标,选择“应用程序和功能”。

1-选择右侧相关设置下的“程序和功能”。

2-选择“打开或关闭Windows功能”。

2-选择“Hyper-V”,单击“确定”。

I have tried many suggestions above but docker keeps complaining about hardware assisted virtualization error. Virtualization is enabled in BIOS, and also Hyper-V is installed and enabled. After a few try and errors, I eventually downloaded coreinfo tool and found out that Hypervisor was not actually enabled. Using ISE (64 bit) as admin and run command from above Solution B and that enables Hypervisor successfully (checked via coreinfo -v again). After restart, docker is now running successfully.