在 Windows 11 上安装 WSL 和 Ubuntu 时出错

在 Windows 11 上安装 WSL 和 Ubuntu 时出错

我尝试使用 WSL 在 Windows 11 电脑(内部版本 22621.963)上安装 Ubuntu,但收到以下错误:

错误截图

Ubuntu 是从 Microsoft Store 安装的。

Windows功能:

  • 虚拟机平台已开启
  • Windows 虚拟机管理程序平台已关闭
  • 适用于 Linux 的 Windows 子系统已启用

UEFI BIOS 设置:

  • 虚拟化技术 - 已启用
  • 超线程-已启用

我想知道这是否是 Windows 11 的问题?我的 WSL 在 Windows 10 机器上运行良好。

我尝试卸载 Ubuntu 并在 CMD 中运行:

wsl --install Ubuntu-20.14

几分钟后我收到此错误:

WslRegisterDistribution failed with error: 0x80370114
Error: 0x80370114 The operation could not be started because a required feature is not installed.

回复 NotTheDr01ds 的更多信息...在我查看您的建议时添加了一些评论,谢谢……

是的,WSL 和 Windows 虚拟机已启用。是的,任务管理器中显示虚拟化已启用。在管理员 powershell 中:PS C:\WINDOWS\system32> Get-ComputerInfo -property "HyperV*"

HyperVisorPresent:True HyperVRequirementDataExecutionPreventionAvailable:HyperVRequirementSecondLevelAddressTranslation:HyperVRequirementVirtualizationFirmwareEnabled:HyperVRequirementVMMonitorModeExtensions:

问题 - 是否需要 Windows Hypervisor Platform?我尝试过打开和关闭,但没有帮助。此外,我在其他帮助资源中看到启用 Hyper-V 的方法,但这并未显示在我电脑的 Windows 功能中。我还读到了一些关于 Win 11 Home 中未提供虚拟机管理程序的信息 - 我对此真的很困惑。

查看“设置”->“Windows 安全”->“应用和浏览器控制”->“程序设置”->“vmcompute”... 没有“代码流保护”选项。我有“控制流保护”。我将其更改为勾选“覆盖系统设置” - 按钮应该处于开启还是关闭状态???

现在要重新启动...

重启后:

没有变化,无法启动 Ubuntu。

===== 检查 services.msc 并将所有 Hyper-V 服务列为关闭。在管理 Powershell 中输入“net start vmcompute”并再次检查服务,现在 HV Host Service 和 Hyper-V Host Compete 服务正在运行,其他服务处于关闭状态(我还不知道这与此的相关性)。

但 Ubuntu 无法启动,没有任何变化。接下来将尝试重新安装 wsl 和 Ubuntu。功能中包括禁用 WSL。

===

从应用商店重新安装 Ubuntu 并在 Windows 功能中启用 wsl。需要 WSL 2 内核更新,https://learn.microsoft.com/en-us/windows/wsl/install-manual#step-4---下载-linux-kernel-update-package

===

快到目的地了!

wsl -l -v Windows Subsystem for Linux 没有安装发行版。可以通过访问 Microsoft Store 来安装发行版: https://aka.ms/wslstore

从应用商店打开 Ubuntu,然后打开一个命令窗口,开始安装,结果为:正在安装,这可能需要几分钟...请创建一个默认的 UNIX 用户帐户。用户名不需要与您的 Windows 用户名匹配。有关更多信息,请访问:https://aka.ms/wslusers 输入新的 UNIX 用户名:

解决了

教训?我不太确定。删除所有内容并重新开始。在开始安装之前,请确保在 bios、windows 功能和 services.msc 中启用了 hyper-V。确保安装了 WSL2 更新。

答案1

一些建议:

首先,仔细检查重启后 WSL 和虚拟机平台是否仍然启用。

如果是,则报告称该错误的一个常见原因是 Windows 中的设置不正确漏洞保护。 看这里这里, 和这里

报到Windows 安全->应用程序和浏览器控制->漏洞保护设置

  • 系统设置控制流保护 (CFG)应该是“开”(在我的情况下,它是“使用默认(开)”。

  • 程序设置,应该有以下条目:

    • C:\Windows\System32\vmcompute.exe
    • C:\Windows\System32\vmwp.exe

    双方都应该控制流防护设置:

    • 覆盖系统设置
    • 使用严格 CFG

有报道称,将这些离开解决了问题,但这可能更像是一个“补丁”,而不是真正的解决方案。

希望这可以解决0x80370114错误。

如果可行,我建议的下一步是直接从Microsoft Store。这将使您获得最新版本。

答案2

在 Powershell 或 CMD 中运行:

wsl --update

然后,打开您的发行版(最好以管理员身份),并更新它:

sudo apt update && sudo apt upgrade

参考

相关内容