无法使用安装了启用 Hyper-V 和 WSL2 的 VirtualBox 启动 Windows 10 来宾 [关闭]

Posted

技术标签:

【中文标题】无法使用安装了启用 Hyper-V 和 WSL2 的 VirtualBox 启动 Windows 10 来宾 [关闭]【英文标题】:Unable to boot Windows 10 guest using VirtualBox with enabled Hyper-V and WSL2 installed [closed] 【发布时间】:2020-09-22 20:41:41 【问题描述】:

我最近将我的 Windows 10 版本更新到版本 2004。我还将 WSL 更新为 WSL2。

我在尝试通过 VirtualBox 6.1.8 使用虚拟机(Windows 10 主机/Windows 10 来宾)时遇到问题。每次我尝试启动它时,它都会变得非常缓慢,并且无法通过启动加载屏幕。

我认为最新版本的 VB 解决了这个问题(根据this documentation from Microsoft)。

我能做些什么来解决这个问题?

【问题讨论】:

这不是一个很好的解决方案,但我找到了一种改进工作流程的方法。如果您不需要同时使用两者,但又不想禁用 Windows 功能(并每次都重新启动),则可以打开一个 powershell 会话并暂时关闭 wsl。 wsl --suthdown 【参考方案1】:

降级到 WSL1,如果您不想浪费几天的精力。

我已经升级到 WSL2 并尝试让 VirtualBox 使用它,但我找不到任何有用的东西。很少有指南建议关闭 VirtualBox 的某些功能可以使其正常工作,但它会使其比现在更慢,这确实违背了目的。

https://github.com/MicrosoftDocs/WSL/issues/536

https://superuser.com/q/1531337

【讨论】:

遗憾的是,MS docs 问题已关闭,并声称它有效。我开了一个新案例:github.com/MicrosoftDocs/WSL/issues/798 如果有人对降级感到困惑,请关注github.com/MicrosoftDocs/WSL/issues/590#issuecomment-602029634【参考方案2】:

自从 VirtualBox 6.0 添加了对 Hyper-V 的支持,但它仍处于试验阶段,这解释了性能不佳 (https://docs.oracle.com/en/virtualization/virtualbox/6.0/admin/hyperv-support.html)。

我可以通过在 Windows 功能中禁用 WSL2 来解决此问题。 如果您进入Control Panel > All Control Panel Items > Programs and Features > Windows Features,您会找到一个列表,您可以在其中禁用或启用某些 Windows 功能。

可能 Hyper-V 在功能中已被禁用,您可能想知道为什么 VirtualBox 仍然无法正常工作。这是因为 WSL2 在底层使用 Hyper-V,即使它没有为您的自定义使用启用。

要使您的 VirtualBox 再次可用,您还必须取消选中功能 Virtual Machine PlatformWindows Subsystem for Linux 并重新启动您的 PC 才能生效。

显然,这将使您的 PC 无法使用 WSL2,但您可以随时重新激活这些功能以再次使用 WSL2。如果您没有被强迫同时使用 VirtualBox 和 WSL2,这就像一个魅力。

【讨论】:

谢谢。我应该猜到了。因为在安装 WSL2 之后,我的 Docker 在没有激活 Hyper-V 的情况下开始工作。【参考方案3】:

您必须激活“Windows Hypervisor Platform”。

为此,请在“开始”菜单中搜索“Windows 资源”。在搜索结果中打开“激活/停用 Windows 资源”。

在列表中选择“Windows Hypervisor Platform”选项,然后单击“确定”。这是 Microsoft 公开的 API,用于使第三方虚拟化提供商与 Hyper-V 兼容,WSL2 使用它。

这是因为主机上一次只能运行一个管理程序。因此,WSL2 使用的 Microsoft Hyper-V 管理程序会阻止 VirtualBox 使用处理器虚拟化扩展。

请参阅下面的常见问题解答:

https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#will-i-be-able-to-run-wsl-2-and-other-3rd-party-virtualization-tools-such-as-vmware-or-virtualbox

【讨论】:

我已经启用了它。我尝试将加速半虚拟化界面更改为每个选项,但没有任何改进。启用/禁用嵌套分页加速似乎也没有什么区别。我不知道为什么这么慢。 这实际上称为“打开或关闭 Windows 功能”,而不是“激活/停用 Windows 资源”。

以上是关于无法使用安装了启用 Hyper-V 和 WSL2 的 VirtualBox 启动 Windows 10 来宾 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

WSL2 请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化

安装VMware16兼容Hyper-v+WSL2+Docker+解决0x80370102报错

Hyper-V + WSL2与 VirtualBox 共存

win11安装hyper-v启用虚拟化无法开机

win10专业版无法启用Hyper-V功能,求大神指导

BIOS中未启用虚拟化支持系列~~例如:因此无法安装Hyper-V