我正在尝试在 Windows 10 机器上安装带有 WSL 2 的 Docker。我以为这相当简单,但两天后我仍然在努力让它工作。
我跟踪了无法从 Windows 应用商店安装 Linux 发行版的问题。我收到一条错误:
WslRegisterDistribution 失败,错误:0x80370102 错误:0x80370102 无法启动虚拟机,因为未安装所需功能。
经过进一步的故障排除后,可能是因为我无法运行此 Hyper-V 主机计算服务:
PS C:\Users\jjj> Start-Service "Hyper-V Host Compute Service"
Start-Service : Service 'Hyper-V Host Compute Service (vmcompute)' cannot be started due to the following error: Cannot open vmcompute service on computer '.'.
在 Windows 事件查看器中我得到了这个:
Hyper-V 主机计算服务依赖于 Windows 容器隔离服务,该服务由于以下错误而启动失败:系统找不到指定的文件。
我不知道如何解决这个问题,因为我在网上找不到任何信息。WSL 2 需要 Hyper-V 才能运行吗?
我做过的事情:
- 在 BIOS 设置中启用 SVM 模式(我之前使用过 Virtualbox/Vagrant,因此该模式已启用)
- 启用所需的 Windows 功能:
- 已安装Linux内核更新包。
- 禁用 CFG 覆盖 vmcompute.exe 的系统设置
- 运行 bcdedit /set hypervisorlaunchtype auto
- 运行 systeminfo 但得到
Hyper-V Requirements: A hypervisor has been detected. Features required for Hyper-V will not be displayed.
系统
Windows 10 版本 20H2 内部版本 19042.964
我已经安装了 HWiINFO,但 AMD-V 不知为何显示为灰色,这意味着它不受支持。但我仔细检查了一下,发现 BIOS 中已启用 SVM 模式。
答案1
我猜你可能安装了 Ryzen Master,虽然不是 100% 清楚,但在更高版本中它似乎由于基于虚拟化的安全性引起的所有问题而出现,并且 Ryzen Master 软件可能会擅自禁用 Windows 中的 VBS 和 BIOS 中的 SVM。