马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
装完 WSL 再开 Docker Desktop,弹一句“当前计算机配置不支持 WSL2。请启用虚拟机平台可选组件,并确保在 BIOS 中启用虚拟化”,错误码 Wsl/Service/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED——这个报错其实分两层:第一层是 WSL2 的虚拟化后端没起来,第二层才是 Docker 依赖 WSL2 才跑得动。下面按“先查启动类型 → 再补功能与 BIOS → 最后切版本”的顺序梳理,顺带说明每条命令在干什么。
先定位:hypervisor 启动类型是不是 off
绝大多数这个报错,都是 Windows 的 hypervisor 启动项被关掉了。用管理员权限打开 CMD 或 PowerShell,先确认一下当前状态:
bcdedit /enum | findstr -i hypervisorlaunchtype
如果输出是 hypervisorlaunchtype OFF,问题就找到了——WSL2 需要依赖 hypervisor 提供的虚拟化能力,关着的话连虚拟机都创建不出来,自然轮不到 Docker 报错。
打开 hypervisor 并重启
bcdedit /set hypervisorlaunchtype auto
执行后提示操作成功即可,然后重启电脑。这条命令改的是启动配置项,不重启不会生效,也不用重启后就立刻能装,还需要下面两步配合。
补齐两个必要的 Windows 功能
WSL2 不只是“Linux 子系统”,它背后是完整的虚拟机栈,所以必须把相应的可选组件打开:
- 打开控制面板 → “程序” → “程序和功能” → “启用或关闭 Windows 功能”。
- 勾选虚拟机平台(Virtual Machine Platform)、适用于 Linux 的 Windows 子系统、如果列表里有 Hyper-V 也一并勾选(家庭版通常没有这一项,不影响)。
- 点确定后按提示重启。
很多人漏了“虚拟机平台”这一项,只开了 WSL1,结果就是能装 Ubuntu 却升不到 WSL2。
BIOS 里的虚拟化开关
软件层全开了还报错,就要进 BIOS 看硬件虚拟化有没有被禁用:
- 重启时按对应按键进 BIOS(常见是 Del、F2,笔记本多为 F2 / Esc / F12 进启动菜单再选 BIOS Setup)。
- 找到虚拟化选项:Intel VT-x(Intel 平台)或 AMD-V(AMD 平台),部分机型还叫 SVM Mode,设为 Enabled。
- 保存退出,正常启动进系统。
进系统后可以在任务管理器 → 性能 → CPU 里看“虚拟化”一项是否显示已启用,比进 BIOS 更直观。
把发行版切到 WSL2
前置条件都满足后,用管理员权限执行:
wsl -l -v
列表里能看到 Ubuntu(名字以你安装时填的为准),再执行:
wsl --set-version Ubuntu 2
提示转换完成就说明这个发行版已跑在 WSL2 上了。再跑一次 wsl -l -v,VERSION 一列应显示 2。如果列表里没有你想要的发行版,重新从 Microsoft Store 或 wsl --install 装一个即可。
Docker 侧:重启后端而不是重装
- 打开 Docker Desktop → 设置 → General,勾上“使用 WSL 2 而不是 Hyper-V 后端”;Resources → WSL Integration 里确认已启用并勾选你的发行版。
- Apply & Restart 之后,Docker 会重新挂载 WSL2 虚拟机。这时一般不再报 HCS_E_HYPERV_NOT_INSTALLED。
- 仍然异常就执行
wsl --shutdown,再重启 Docker Desktop,让 WSL2 虚拟机整体重建。
排错顺序总结
bcdedit /enum | findstr -i hypervisorlaunchtype 看是否 OFF。
bcdedit /set hypervisorlaunchtype auto + 重启。
- 打开“虚拟机平台 / WSL”功能 + 重启。
- BIOS 启用 VT-x/AMD-V + 重启。
wsl --set-version 发行版名 2,用 wsl -l -v 复核。
- Docker Desktop 切 WSL2 后端并重启后端。
补充两点:一是 company 装的部分杀毒软件/沙箱(如某些旧版卡巴斯基、360 沙箱、.vmx 类虚拟化冲突工具)会抢占 hypervisor,排查时可临时移开;二是公司电脑由 IT 统一管控时,功能勾选可能被组策略锁住,需要先申请权限,不要在管理员权限下乱改策略。
qidao123.com企服评测-应用市场 编辑提示
本文基于社区原帖《办理wsl 无法升级 wsl2 以及windows 下的Docker 打开报错》重写,补全命令中的空格并按“定位—开启虚拟化—补功能—BIOS—切版本—Docker 后端”重排,补充了各步骤的原理说明与排错顺序,未改动原作者的解决结论。发行版名称请以本机 wsl -l -v 的实际输出为准,公司办公机请遵守 IT 管理策略操作。 |