【问题标题】:Docker hardware virtualization conflicts with virtualbox vmsDocker 硬件虚拟化与 virtualbox vms 冲突
【发布时间】:2018-11-20 10:54:24
【问题描述】:

我正在使用 docker for windows。还有用于虚拟化几台服务器的 virtualbox。遇到硬件虚拟化和数据执行的冲突,不知道怎么解决! Virtualbox 需要禁用 hyper-v(我认为它是 hyper-v)。并且 docker 需要禁用它。于是冲突就出现了。如何让两者都工作?

Hardware assisted virtualization and data execution protection must be enabled in the BIOS. See https://docs.docker.com/docker-for-windows/troubleshoot/#virtualization-must-be-enabled

【问题讨论】:

  • 只是为了确定。您在 BIOS 配置中启用了虚拟化?

标签: docker virtualbox virtualization hyper-v


【解决方案1】:

我也有同样的问题... 我在 Windows [程序和功能] 中禁用了 Hyper-V,但是至少 docker 可以运行虚拟机。 之后,当我需要我的虚拟机时,我会停止 docker 并重新启用 Hyper-V。

你可以使用脚本来关闭:

bcdedit /set hypervisorlaunchtype off

然后这会重新打开

bcdedit /set hypervisorlaunchtype auto

【讨论】:

    【解决方案2】:

    可以在 Windows 10 21H1 64 位上运行 Docker Desktop 4.5.1 和 Oracle VirtualBox 6.1.32(包括 Genymotion 3.2.1),因为 VirtualBox 支持 Hyper-V(请注意 虚拟机将在“海龟模式”中运行非常慢)。

    1. 您必须使用bcdedit /set hypervisorlaunchtype auto 启用 Windows Hypervisor 并重新启动您的 PC。
    2. 通过执行 VBoxManage setextradata global "VBoxInternal/NEM/UseRing0Runloop" 0(该工具位于 "C:\Program Files\Oracle\VirtualBox")在 VirtualBox 中启用实验性 Hyper-V 支持。
      此工具只是将行 <ExtraDataItem name="VBoxInternal/NEM/UseRing0Runloop" value="0"/> 添加到您的 ?:\Users\%USERNAME%\.VirtualBox\VirtualBox.xml,因此您可以在 VirtualBox 应用程序未运行时手动编辑它(否则当应用程序终止时更改将丢失)。

    在系统 => 加速检查每个 VM 设置:Default 应指定为 Paravirtualization Interface
    在此处保留Default 可以让您在执行bcdedit /set hypervisorlaunchtype off 并重新启动时轻松切换回更快的加速(请注意,之后Docker 将停止工作)。

    之后,我能够在我的 Windows 10 21H1 上运行虚拟 Windows 7 x32 和 Windows 8.1 x64 以及三星 Galaxy S10 (Android 10)。

    【讨论】:

      猜你喜欢
      • 2013-11-27
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 2014-08-17
      • 2018-02-08
      • 2012-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多