最近配置开发环境时遇到一个很容易误判的问题:VMware 可以正常使用,但 WSL2 和 Docker Desktop 一直报虚拟化错误。 BIOS 虚拟化已经打开,Hyper-V 也装过,问题仍然没有消失。
排查后发现,真正的关键是 Windows 启动配置里的 hypervisorlaunchtype 被设置成了 Off。这会让系统虽然安装了 Hyper-V,却不会在启动时加载 Hypervisor,因此 WSL2 和 Docker Desktop 都无法正常运行。
先确认,而不是直接重装
管理员 PowerShell 中先检查三件事:Windows 功能是否启用、启动配置是否加载 Hypervisor、WSL 发行版是否为版本 2。
dism /online /get-featureinfo /featurename:VirtualMachinePlatform
dism /online /get-featureinfo /featurename:Microsoft-Hyper-V-All
bcdedit /enum | findstr hypervisorlaunchtype
wsl -l -v
理想状态是 VirtualMachinePlatform 和 Microsoft-Hyper-V-All 已启用,hypervisorlaunchtype 为 Auto,并且 WSL 发行版版本为 2。
最小修复路径
如果启动配置显示为 Off,可将其改为自动加载,再重启系统:
bcdedit /set hypervisorlaunchtype auto
bcdedit /enum | findstr hypervisorlaunchtype
shutdown /r /t 0
如果 Windows 功能缺失,再补充启用虚拟机平台、Hyper-V 和 Windows Hypervisor Platform。已经迁移过 WSL 路径的环境还应检查 Docker 的 WSL 缓存与 .wslconfig;VMware 则需要确认 Hyper-V 兼容相关设置。
验证结果与边界
重启后可通过 systeminfo、wsl -l -v、docker --version 和 docker run hello-world 分层验证。本文记录的是 2025 年的一次 Windows 开发环境排障路径;Windows、Docker Desktop、VMware 与 WSL 的版本差异会改变具体症状。修改启动配置前请备份现有设置,并以各软件当前官方文档为准。