求助:Docker Desktop无法检测到Hypervisor,已开启虚拟化仍报错
解决Docker Desktop检测不到Hypervisor的问题
排查与修复步骤
1. 确认WSL 2后端配置
Docker Desktop在WSL 2模式下无需依赖Hyper-V,但需确保WSL环境配置正确:
- 以管理员权限打开PowerShell,执行
wsl --list --verbose,检查已安装的Linux发行版VERSION列是否显示为2。 - 若版本为1,执行
wsl --set-version <发行版名称> 2完成转换。 - 打开Docker Desktop设置,进入Resources > WSL Integration,勾选对应WSL发行版启用集成。
2. 验证数据执行保护(DEP)状态
提示要求启用DEP,需确认系统DEP状态:
- 管理员权限打开PowerShell,执行
bcdedit /enum {current},查看nx项值是否为OptIn或OptOut(正常启用状态)。 - 若为
Off,执行bcdedit /set nx OptIn,重启系统后生效。
3. 检查Virtual Machine Platform组件
WSL 2运行需要该组件,与Hyper-V独立:
- 打开控制面板 > 程序 > 启用或关闭Windows功能。
- 勾选Virtual Machine Platform,确认后重启系统。
4. 检查HV Host Service状态
部分WSL依赖组件需运行:
- 按下Win+R输入
services.msc,找到HV Host Service,确保其状态为正在运行,启动类型设为自动。
5. 重置Docker Desktop配置
若以上步骤无效,尝试重置配置:
- 打开Docker Desktop,进入Troubleshoot页面。
- 点击Reset to factory defaults,确认后重启Docker。
6. 检查BIOS隐藏虚拟化选项
部分AMD主板有额外相关选项:
- 重启进入BIOS,除启用SVM Mode外,检查IOMMU/AMD-Vi选项是否开启,这类选项通常在Advanced > CPU Configuration或Security菜单下。
内容的提问来源于stack exchange,提问作者Ninad Ambade
相关产品推荐
相关产品推荐

