错误 0x80370102排查
这个错误 0x80370102 是 WSL 2 启动失败时常见的问题,虽然你说:
• 已经开启了 BIOS 中的虚拟化;
• 已启用 Hyper-V 和虚拟机平台功能;
但系统还是报错:
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
我们逐步排查并尝试解决:
⸻
✅ 检查清单(重点步骤优先)
- 确认 WSL 2 已正确安装
运行以下命令:
wsl --list --verbose
看看是否显示已安装的发行版,以及是否为版本 2。
如果没有任何发行版或提示安装失败,请尝试:
wsl --set-default-version 2
然后重新安装 Ubuntu。
⸻
- 确认 Windows 功能是否完整启用
按下 Win + R,输入 optionalfeatures 打开 “启用或关闭 Windows 功能”,确保以下都被勾选:
• ✅ 虚拟机平台(Virtual Machine Platform)
• ✅ 适用于 Linux 的 Windows 子系统(Windows Subsystem for Linux)
• ✅ Hyper-V(如果你打算用 Hyper-V 同时运行虚拟机)
如果刚启用,必须重启一次,否则 WSL2 会继续报错。
⸻
- 确认 BIOS 中虚拟化是真的启用了
请确认以下 BIOS 设置是否开启(不同主板略有差异):
• Intel VT-x / AMD-V
• Intel VT-d / AMD IOMMU(建议也开)
• 禁用 Intel SGX(部分主板会冲突)
• 禁用 HyperThreading 可能尝试解决奇怪冲突
⸻
- 确认是否被其他虚拟化工具占用资源(如 VMware、VirtualBox、Antivirus)
某些软件会和 Hyper-V/WSL2 冲突,比如:
• VMware Workstation 没开兼容模式
• VirtualBox 版本较旧(需 ≥ 6.1.16 才兼容 Hyper-V)
• 某些杀毒软件阻止 WSL2 网络驱动加载(如 Kaspersky)
• 安卓模拟器(如 LDPlayer、BlueStacks)默认关闭 Hyper-V
解决方案:
• 卸载或升级这些虚拟机软件,确保兼容 Hyper-V;
• 使用 bcdedit 确认 WSL 能启动(见下面第 6 步);
⸻
- 系统版本虽然是 22H2,但内核可能不完整
运行以下命令安装最新版的 WSL:
wsl --update
或者重新安装 WSL:
wsl --install
如需手动安装 WSL 2 Linux 内核:https://aka.ms/wsl2kernel
⸻
- 确认系统是否以 Hyper-V 模式启动(重点)
有时候系统虽然开了 Hyper-V,但并没有以“虚拟化平台”启动。
打开管理员命令提示符(cmd),输入:
bcdedit
确保以下几项存在或正确:
• hypervisorlaunchtype 应该为 Auto
• 如果看到 nohypervisor 或 off,则 WSL2 会失败
如果不对,运行以下命令启用它并重启:
bcdedit /set hypervisorlaunchtype auto
shutdown /r /t 0
⸻
- 重启 LxssManager 服务
如果你确认都开了,还是不行,可尝试重启该服务:
Get-Service LxssManager | Restart-Service
⸻
✅ 总结推荐操作顺序:
1. 确保 BIOS 中 VT 已开(特别是 VT-x + VT-d);
2. optionalfeatures 中勾选 WSL + 虚拟机平台 + Hyper-V;
3. 管理员运行:bcdedit /set hypervisorlaunchtype auto,然后重启;
4. 安装 Ubuntu 前运行 wsl --set-default-version 2;
5. 安装失败后尝试 wsl --update;
6. 如果还是失败,请 卸载 Ubuntu 后重装,或执行 wsl --unregister Ubuntu。
⸻
如果这些都不行,可以提供:
• wsl --status 输出;
• systeminfo 中的 Hyper-V 支持字段;
• bcdedit 输出;
我可以进一步帮你诊断。