如何让 Oracle vm VirtualBox 6.0 和 wsl 同时工作

bob*_*bob 14 windows virtualbox virtual-machine windows-subsystem-for-linux

当我打开或关闭 Windows 功能中的 Windows Subsystem for Linux 选项时

每次运行虚拟机时,VirtualBox 都会出错

调用 WHvSetupPartition 失败:ERROR_SUCCESS (Last=0xc000000d/87) (VERR_NEM_VM_CREATE_FAILED)。结果代码:E_FAIL (0x80004005) 组件:ConsoleWrap 接口:IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

有没有办法在不关闭 wsl 的情况下修复 VirtualBox 错误

win*_*rrr 29

VirtualBox + WSL2(在 Windows 10 和 11 上)

VirtualBox 和 WSL2 可以在 Windows 10 和 Windows 11 上同时运行!请注意,当并行运行两者时,VirtualBox 只能在其较慢的软件虚拟化模式下运行。

要设置这两个系统,请确保在 BIOS 中启用虚拟化选项!

  • Virtual Box - 在您的计算机上安装最新版本(官方下载
  • WSL2wsl --install - 只需在提升的 PowerShell 或 CMD 中运行命令(官方文档

故障排除

必要的 Windows 功能?

通过命令行安装 WSL 应自动启用以下 Windows 功能:

  • 虚拟机平台
  • Linux 的 Windows 子系统

WSL 使用底层的 Hyper-V 架构,但不需要启用实际的 Hyper-V 功能。换句话说:WSL 使用 Hyper-V 架构,但不使用 Hyper-V 功能(感谢 @Cito)。

启用/禁用 Windows 功能

您可以通过以下方式查找和编辑 Windows 功能:

  • 打开控制面板 > 程序 > 打开或关闭 Windows 功能,或者
  • 进入OptionalFeatures.exeCMD 或 PowerShell 终端

使用 Windows 家庭版?

如果您运行的是 Windows Home,某些功能可能未安装在您的计算机上。要手动添加这些虚拟化功能,请遵循本教程

WSL 停止工作了吗?

如果您已经安装了 WSL 并对 Windows 功能进行了更改,WSL 可能会停止工作。特别是当通过旧方法之一(而不是通过wsl --install命令行)安装 WSL 时。要修复 WSL 安装,您可以执行以下操作:

  1. 从系统中完全卸载并删除 WSL(如果需要,请备份您的文件!)
  2. 停用所有虚拟化功能
  3. 重启机器
  4. 通过命令行全新安装 WSLwsl --install
  5. 再次重启机器

VirtualBox 虚拟机速度慢?

如果您看到这个绿海龟符号海龟图标在来宾窗口的状态栏中,VirtualBox 正在软件虚拟化模式下运行(这真的很慢!)。硬件虚拟化模式将显示有这个蓝色符号硬件虚拟化模式图标

在软件模式下运行时,原因很可能是活动的 WSL 设置,它依赖于 Hyper-V 架构。另一个原因可能是要打开 Hyper-V 功能。要返回硬件虚拟化模式,请确保关闭以下功能:

  • 超V
  • Windows 管理程序平台

并且 已hypervisorlaunchtype设置为offWindows启动配置数据(BCD) 存储中。为此,请从提升的命令行运行以下命令:

bcdedit /set hypervisorlaunchtype off
Run Code Online (Sandbox Code Playgroud)

更改 BCD 后,需要重新启动。


更多信息

欲了解更多信息:

  • 不为我工作。完全卸载 WSL、关闭所有虚拟化功能,然后运行“wsl --install”后,仅“虚拟机平台”和“适用于 Linux 的 Windows 子系统”功能再次重新打开。在“hypervisorlaunchtype off”的情况下,VirtualBox 没问题,但 WSL 不行。使用“hypervisorlaunchtype auto”,WSL 很好,但 VirtualBox 在软件虚拟化模式下速度慢得令人痛苦。并且切换需要重启。每次 :( (4认同)

drk*_*gel 23

我找到了!经过大量研究和反复试验,以下是使我能够在安装了适用于 Linux 的 Windows 子系统的 Windows 10 上的 VirtualBox 中运行 VM 的原因:

在提升的(管理员)cmd.exe或 PowerShell 中,执行以下操作:

bcdedit /set hypervisorlaunchtype off

并确保在 Windows 功能中禁用了 Hyper-V 和 Windows 沙盒(您可以通过OptionalFeatures.exe在命令提示符下输入或通过控制面板进行访问)。

此外,应该在 BIOS 中启用虚拟化选项,我认为(我现在没有时间进行测试)应该启用“虚拟机平台”和“Windows 管理程序平台”。

VirtualBox 6.0.14,Windows 版本 10.0.18362.356。

  • 使用 Virtualbox 6.1.4,您可以启用虚拟机平台和 Windows Hypervisor 平台。该版本可以成功使用Hyper-V作为后端,而不是与之冲突。 (7认同)
  • 仅在启用虚拟机平台和 Windows Hypervisor 平台后才为我工作。谢谢你! (3认同)
  • 我已经安装了 VirtualBox 6.1.18,但 VirtualBox 仍然无法与 WSL2 配合使用。(Windows 10 Home)此外,执行此操作后,我的 WSL2 将无法启动。谁能确认它仍然有效吗? (2认同)