You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 11安装WSL与Ubuntu时遭遇0x80370114错误的排查及解决复盘

Windows 11安装WSL与Ubuntu时遭遇0x80370114错误的排查及解决复盘

我在Windows 11(版本22621.963)上尝试通过WSL安装Ubuntu时,碰到了WslRegisterDistribution failed with error: 0x80370114错误,提示“操作无法启动,因为未安装必需的功能”。下面是我一步步排查和解决问题的完整过程:

初始环境状态

  • Ubuntu是从微软商店安装的
  • Windows功能配置:
    • 虚拟机平台:已开启
    • Windows虚拟机监控程序平台:已关闭
    • Windows子系统Linux:已开启
  • UEFI BIOS设置:
    • 虚拟化技术:已启用
    • 超线程:已启用

排查与尝试过程

  1. 首次重装尝试
    卸载Ubuntu后,在CMD中执行wsl --install Ubuntu-20.14,等待数分钟后依然弹出相同的0x80370114错误。

  2. 核心组件验证

    • 确认WSL和虚拟机平台确实在Windows功能中处于启用状态
    • 任务管理器中查看虚拟化已正常启用
    • 用管理员PowerShell执行Get-ComputerInfo -property "HyperV*",返回结果里HyperVisorPresentTrue
    • 纠结过“Windows虚拟机监控程序平台”是否必须开启,试过开/关两种状态,都没能解决问题;同时疑惑Win11家庭版是否支持Hyper-V(因为我的Windows功能列表里找不到Hyper-V选项)
  3. 安全设置调整
    进入Windows安全中心→应用和浏览器控制→程序设置→vmcompute,找到“Control Flow Guard”选项,勾选“覆盖系统设置”后重启电脑,但问题依然存在。

  4. Hyper-V服务检查
    services.msc中查看,所有Hyper-V相关服务都处于未运行状态。用管理员PowerShell执行net start vmcompute,启动了HV主机服务和Hyper-V主机计算服务,但还是无法启动Ubuntu。

  5. 彻底重装流程

    • 先关闭Windows功能里的WSL选项,卸载Ubuntu
    • 重新启用WSL功能,从应用商店再次安装Ubuntu
    • 安装WSL2对应的内核更新包(这一步是之前遗漏的关键操作)

最终解决

执行wsl -l -v显示当前没有已安装的Linux发行版,打开Ubuntu应用后,窗口正常启动并进入安装流程,最终出现了创建默认UNIX用户账户的提示,问题彻底解决!

经验总结

  • 遇到这类棘手的WSL安装错误时,不妨尝试彻底清理后从头开始:卸载Ubuntu、关闭WSL功能,重启系统后再重新启用并安装
  • 确保BIOS中的虚拟化已启用,Windows相关功能(WSL、虚拟机平台)正常开启,必要时手动启动Hyper-V相关服务
  • 一定要记得安装WSL2对应的内核更新包,这是容易被忽略但至关重要的步骤

备注:内容来源于stack exchange,提问作者John McDermott

火山引擎 最新活动