Windows的Docker错误:“0”;必须在BIOS中启用硬件辅助虚拟化和数据执行保护;

Windows的Docker错误:“0”;必须在BIOS中启用硬件辅助虚拟化和数据执行保护;,windows,docker,Windows,Docker,我已安装Docker,运行GUI时出现以下错误: 硬件辅助虚拟化和数据执行保护必须 可以在BIOS中启用 似乎是一个bug,因为Docker就像命令行中的一个符咒,但我想知道是否有人知道为什么会发生这种情况 在您询问之前,是的,我已经在BIOS中启用了虚拟化,并且“英特尔处理器标识实用程序”确认它已激活。Docker、Docker machine和Docker组成命令行中的所有工作,Virtualbox工作,从Debian或Ubuntu VM工作运行Docker GUI有一个奇怪的问题 我的规格

我已安装Docker,运行GUI时出现以下错误:

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

似乎是一个bug,因为Docker就像命令行中的一个符咒,但我想知道是否有人知道为什么会发生这种情况

在您询问之前,是的,我已经在BIOS中启用了虚拟化,并且“英特尔处理器标识实用程序”确认它已激活。Docker、Docker machine和Docker组成命令行中的所有工作,Virtualbox工作,从Debian或Ubuntu VM工作运行Docker

GUI有一个奇怪的问题

我的规格:

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

您能否尝试手动启用Hyper-V,并可能手动创建和运行Hyper-V虚拟机?详情:


如果所述功能已启用,则问题在于Hyper-V已禁用或虚拟机监控程序代理未运行

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

  • 以管理员身份打开PowerShell,然后重试

  • 使用启用Hyper-V

    dism.exe/Online/Enable功能:Microsoft-Hyper-V/All

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

    使用启用虚拟机监控程序

    bcdedit /set hypervisorlaunchtype auto
    
    现在重新启动系统并重试

    解决方案C

    如果问题仍然存在,则系统上的Hyper-V可能已损坏,因此

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

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

  • 注1:

    Hyper-V需要硬件虚拟化作为先决条件。确保您的电脑支持该功能,如果支持但仍无法工作,则可能是BIOS配置不正确,并且此功能已禁用。在这种情况下,请选中并启用它,然后重试。虚拟化功能可以根据所使用的平台以不同的名称报告(例如,如果您没有看到任何明确使用虚拟化标签的选项,在AMD上您必须检查SVM功能状态,在Intel上检查VT-x功能状态)

    注2:

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

    windows10企业版;视窗10专业版;Windows 10教育

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

    Windows 10 Home;windows10手机;Windows10移动企业版


    打开任务管理器并单击“性能”选项卡。如果禁用虚拟化,则需要按照此处的说明启用它:

    我已卸载Intel HAXM和VirtualBox,Docker现在运行

    在PowerShell中尝试此操作(启用管理员):


    这将在不使用管理工具的情况下安装虚拟机监控程序,然后您可以在此之后运行Docker。

    对我来说,我所要做的就是卸载VMware


    Docker现在正在运行

    在我的情况下,我必须卸载hyper-v,重新启动pc,然后再次运行Docker。

    下面是我的工作解决方案
    ,请按照以下步骤操作

  • 以管理员身份打开PowerShell或以管理员身份打开CMD提示符

  • 在PowerShell中运行此命令->
    bcdedit/set hypervisorlaunchtype auto

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


  • 干杯。

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

    我也用流浪汉。看来我一次只能用一件东西。卸载vagrant/virtualBox使我能够运行docker,反之亦然

    我尝试了这里的许多建议,但没有成功运行它。最终对我有效的是直接进入BIOS激活它。下面的文章很有帮助:

    我尝试了上面的许多建议,但docker一直抱怨硬件辅助虚拟化错误。BIOS中启用了虚拟化,并且安装并启用了Hyper-V。经过几次尝试和错误,我最终下载了coreinfo工具,并发现虚拟机监控程序实际上并没有启用。使用ISE(64位)作为管理并从上面的解决方案B运行命令,这将成功启用虚拟机监控程序(再次通过coreinfo-v进行检查)。重新启动后,docker现在已成功运行。

    @Silverstorm

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

    但解决方案A对我不起作用

    然而,解决方案B发挥了巨大的作用

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

    使用启用虚拟机监控程序

    bcdedit /set hypervisorlaunchtype auto
    
    bcdedit/设置虚拟机监控程序启动类型自动
    现在重新启动系统并重试。

    除了原来的答案外,我还做了以下工作:

    • 在Windows功能中禁用Hyper-V
    • 在BIOS中关闭和打开虚拟化
    • 重新登录windows,启用Hyper-V。系统提示有Hyper-V更新,我已完成更新。出现提示时重新启动
    • 成功了
    尝试以下步骤

  • 在powershell中运行此命令-->bcdedit/set hypervisorlaunchtype 自动的
  • 重新启动你的电脑
  • 现在试试docker——cmd行中的版本

  • 如果BIOS选项一切正常,我只是强制禁用和启用所有HyperV功能,这就解决了我的问题 --指令 禁用Windows OptionalFeature-联机-功能名称Microsoft-Hyper-V-All --重新启动
    启用Windows OptionalFeature-Online-FeatureName Microsoft-Hyper-V-All在我的情况下,我必须在BIOS设置中启用虚拟化

  • 重启电脑
  • 在“重新启动”屏幕上,按任意键,然后在windows中输入bios设置:esc、f1、f2、f3、f4,
    Enable-WindowsOptionalFeature -Online -FeatureName $("VirtualMachinePlatform", "Microsoft-Windows-Subsystem-Linux")