我安装了Docker,运行GUI时出现此错误:
硬件辅助虚拟化和数据执行保护必须 在BIOS中启用
看起来像一个bug,因为Docker就像命令行中的魅力一样,但我想知道是否有人知道为什么会发生这种情况?
在你问之前,是的,我已经在BIOS中启用了虚拟化,并且英特尔处理器识别实用程序确认它已激活。 Docker,docker-machine和docker-从命令行编写所有工作,Virtualbox工作,从Debian或Ubuntu VM运行Docker。
关于GUI只有这个奇怪的问题。
我的规格:
答案 0 :(得分:199)
如果启用了所述功能,则问题出在Hyper-V已禁用或Hypervisor代理未运行
解决方案A (如果Hyper-V完全禁用或未安装)
以管理员身份打开PowerShell,
使用
启用Hyper-V dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
解决方案B (如果已启用Hyper-V功能但不起作用)
使用
启用Hypervisorbcdedit /set hypervisorlaunchtype auto
现在重新启动系统,然后重试。
解决方案C
如果问题仍然存在,系统上的Hyper-V可能已损坏,那么
进入控制面板 - > [节目] - > [Windows功能]并完全取消选中所有与Hyper-V相关的组件。重启系统。
再次启用Hyper-V。重新启动。
注1 :
Hyper-V需要硬件虚拟化作为先决条件。确保您的PC支持它,如果是,但仍然无法正常工作,可能是您的BIOS未正确配置且此功能已禁用。在这种情况下,请检查,启用它并重试。根据所使用的平台,可以根据不同的名称报告虚拟化功能(例如,如果您没有看到明确使用虚拟化标签的任何选项,则必须在AMD上检查 SVM 功能状态< em> VT-x 特征状态)。
注2:
Hyper-V 可以仅安装某些版本,例如:
Windows 10企业版; Windows 10专业版; Windows 10教育。
Hyper-V 不能安装在更便宜或移动的Windows版本上,例如:
Windows 10 Home; Windows 10移动版; Windows 10移动企业版。
答案 1 :(得分:9)
我卸载了英特尔HAXM和VirtualBox,Docker现在运行
答案 2 :(得分:9)
以下是工作解决方案,请按照以下步骤进行操作
以管理员身份打开PowerShell,或以管理员身份打开CMD提示
在PowerShell中运行此cmd-&gt; bcdedit /set hypervisorlaunchtype auto
现在重新启动系统,然后重试。
答案 3 :(得分:4)
我遇到了类似的问题。
我已在 bios 设置中启用 Intel Virtual Technology
。
然后我从 here 更新了 Linux 内核。 它奏效了
我的规格:
答案 4 :(得分:3)
打开任务管理器,然后单击性能选项卡。如果禁用虚拟化,则需要按照此处的说明启用虚拟化:https://blogs.technet.microsoft.com/canitpro/2015/09/08/step-by-step-enabling-hyper-v-for-use-on-windows-10/
答案 5 :(得分:1)
就我而言,我必须在BIOS设置中启用虚拟化。
在完成上述所有步骤之后,它终于可以工作了:-)
答案 6 :(得分:1)
尝试这些步骤
答案 7 :(得分:1)
您是否可以手动启用Hyper-V,并可能手动创建和运行Hyper-V VM?详细说明:
答案 8 :(得分:1)
在我的情况下,我必须卸载hyper-v,重启pc,然后再次运行docker。
答案 9 :(得分:1)
对我来说,我只需要卸载VMware。
Docker现在正在运行
答案 10 :(得分:1)
在PowerShell中尝试此操作(启用管理员):
Enable-WindowsOptionalFeature –Online -FeatureName Microsoft-Hyper-V –All -NoRestart
这将在没有管理工具的情况下安装HyperVisor,然后您可以在此之后运行Docker。
答案 11 :(得分:0)
我不得不卸载 VirtualBox 才能让它工作,太可惜了!
答案 12 :(得分:0)
通过设置启用 Hyper-V 角色 右键单击 Windows 按钮/图标,然后选择“应用和功能”。
1- 在右侧的相关设置下选择程序和功能。
2- 选择打开或关闭 Windows 功能。
2- 选择 Hyper-V 并点击确定。
答案 13 :(得分:0)
在安装VMWare之后,我遇到了相同的问题,我将其卸载了,但这不能解决问题。
对我来说解决方案:在“打开或关闭Windows功能”中,我关闭了:
然后重新启动
重启后,我从docker得到了以下消息:
我按照消息中的提示运行了命令
Enable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux")
然后重新启动并开始工作,Docker再次使用WSL2
答案 14 :(得分:0)
如果问题仍然存在,则可能是系统上的Hyper-V已损坏,所以
进入控制面板-> [程序]-> [Windows功能]并完全取消选中所有与Hyper-V相关的组件。重新启动系统。
再次启用Hyper-V。重新启动。
答案 15 :(得分:0)
就我而言,即使我使用了上面提到的所有解决方案,但对我来说都没有用。所以我决定卸载docker,然后重新安装。
现在,在此过程中,我注意到我在以前的安装中没有检查Use Windows containers instead of Linux containers (this can be changed after installation)
,这就是为什么我遇到上面的问题,而解决方案仍然无法解决问题。因此,请确保在运行桌面docker之前先对其进行检查,或者通过选中此选项将其卸载并再次安装。
答案 16 :(得分:0)
如果上面的解决方案不起作用,那么 转到命令提示符并键入 systeminfo。检查 Hyper-V 要求部分。 如果列出的所有 Hyper-V 要求的值为 Yes,则您的系统可以运行 Hyper-V 角色。 在我的情况下,固件中的虚拟化启用是否。 因此,我确实通过在我的 HP 笔记本电脑中启用虚拟化技术来启用系统 bios。 请访问此链接以启用它: https://2nwiki.2n.cz/pages/viewpage.action?pageId=75202968
答案 17 :(得分:0)
如果BIOS选项一切正常,我只是强制禁用并启用所有HyperV功能,这解决了我的问题 --cmd Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All - 重新开始 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All
答案 18 :(得分:0)
除了原始答案外,我还执行了以下操作:
答案 19 :(得分:0)
@银风暴
我已安装Hyperv并在BIOS中启用了虚拟化。
但是解决方案A不适用于我。
但是,解决方案B就像一个魅力。
解决方案B(如果Hyper-V功能已启用但不起作用)
通过以下方式启用虚拟机监控程序
bcdedit / set hypervisorlaunchtype自动 现在,重新启动系统,然后重试。
答案 20 :(得分:0)
我在上面尝试了许多建议,但docker一直抱怨硬件辅助的虚拟化错误。在BIOS中启用了虚拟化,并且还安装并启用了Hyper-V。经过几次尝试和错误之后,我最终下载了coreinfo工具,并发现实际上未启用Hypervisor。从解决方案B上方使用ISE(64位)作为管理和运行命令,并成功启用了Hypervisor(再次通过coreinfo -v进行了检查)。重新启动后,docker现在可以成功运行。
答案 21 :(得分:0)
我在这里尝试了许多建议,但未能使其运行。最后对我有用的是直接进入BIOS来激活它。以下文章有很大帮助: https://www.nextofwindows.com/how-to-enable-configure-and-use-hyper-v-on-windows-10
答案 22 :(得分:0)
我也使用流浪汉。看来我一次只能使用1件事。卸载vagrant / virtualBox允许我运行docker,反之亦然
答案 23 :(得分:0)
当我卸载Cygwin时,对我的问题已解决。