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

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

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

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

GUI有个奇怪的问题。

我的规格:

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


当前回答

在我的情况下,即使我使用了上面提到的所有解决方案,但没有一个对我有效。所以我决定卸载docker,重新安装。

现在在这个过程中,我注意到我在之前的安装中没有勾选使用Windows容器而不是Linux容器(这可以在安装后更改),这就是为什么我得到了上面的问题,解决方案仍然没有解决它。所以确保在运行desktop docker之前检查它,或者通过检查这个选项卸载它并重新安装它。

其他回答

如果启用了所描述的特性,则问题在于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移动企业。

试试以下步骤

在powershell中执行该命令 Bcdedit /set hypervisor启动类型 汽车 重启电脑 现在在cmd行中尝试docker—version

当我卸载Cygwin时,问题就解决了。

在我的情况下,我不得不卸载hyper-v,重新启动pc,并再次运行docker。

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