运行docker的时候提示如下报错:
deploying WSL2 distributions
ensuring main distro is deployed: deploying "docker-desktop": importing WSL distro "当前计算机配置不支持 WSL2。\r\n请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。\r\n通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution\r\n有关信息,请访问 https://aka.ms/enablevirtualization\r\n错误代码: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED\r\n" output="docker-desktop": exit code: 4294967295: running WSL command wsl.exe C:\windows\System32\wsl.exe --import docker-desktop E:\Docker\DockerDesktopWSL\main C:\Program Files\Docker\Docker\resources\wsl\wsl-bootstrap.tar --version 2: 当前计算机配置不支持 WSL2。
请启用“虚拟机平台”可选组件,并确保在 BIOS 中启用虚拟化。
通过运行以下命令启用“虚拟机平台”: wsl.exe --install --no-distribution
有关信息,请访问 https://aka.ms/enablevirtualization
错误代码: Wsl/Service/RegisterDistro/CreateVm/HCS/HCS_E_HYPERV_NOT_INSTALLED
: exit status 0xffffffff
checking if isocache exists: CreateFile \\wsl$\docker-desktop-data\isocache\: The network name cannot be found.
解决办法:
需要注意,此解决办法有可能会导致容器丢失,请先做好备份!从报错信息来看,WSL2 和 Docker Desktop 都检测到了 “虚拟机平台 (Virtual Machine Platform)” 功能未启用,同时也提示 BIOS 中的虚拟化功能未启用,导致无法创建 WSL2 虚拟机(出现 HCS_E_HYPERV_NOT_INSTALLED
、当前计算机配置不支持 WSL2
等错误)。要解决这个问题,需要从以下几个方面逐步排查和启用:
1. 检查 Windows 版本
-
Windows 10 版本要求:
- 必须是 Windows 10 版本 2004 (内部版本 19041) 及以上,或 Windows 11。
- 同时需要是 专业版、企业版、教育版,原则上才能完整启用 Hyper-V 相关功能;不过 WSL2 只要求系统版本满足条件且支持“虚拟机平台”(有时家庭版也能通过“虚拟机平台”+WSL2的方式使用 Docker Desktop,但需要确保系统更新到足够新版本)。
-
如何查看 Windows 版本:
Win + R
-> 输入winver
-> 回车- 如果版本过低,建议升级到最新版本的 Windows 10 或 Windows 11。
2. 在 BIOS/UEFI 中启用硬件虚拟化
- 进入 BIOS/UEFI
- 重启电脑时,按
Del
、F2
、F10
、F12
(不同品牌主板热键不一样),进入 BIOS 设置界面。
- 重启电脑时,按
- 找到并启用 CPU 虚拟化选项
- 对于 Intel CPU,通常叫做 Intel VT-x、VT-d 或 Virtualization Technology;
- 对于 AMD CPU,通常叫做 SVM Mode 或 AMD-V。
- 保存并重启
- 一定要保存 BIOS 设置并重启,否则修改不会生效。
如果 BIOS 中没启用虚拟化,那么即使在系统中开启了 WSL2/Hyper-V,也会出现“计算机配置不支持 WSL2”或 HCS_E_HYPERV_NOT_INSTALLED
的错误提示。
3. 启用 “虚拟机平台” 以及 “WSL” 组件
方法1:图形化界面启用
- 打开“启用或关闭 Windows 功能”
- Win + R -> 输入
optionalfeatures
-> 回车
- Win + R -> 输入
- 在列表中找到并勾选:
- “虚拟机平台 (Virtual Machine Platform)”
- “适用于 Linux 的 Windows 子系统 (Windows Subsystem for Linux)”
- 如果打算使用 Docker Desktop 并结合 Hyper-V,也可以勾选 “Hyper-V” 和 “Windows Hypervisor Platform”。
- 点击“确定”,等待组件安装完成后 重启电脑。
方法2:命令行启用
在 管理员权限的 PowerShell 或 CMD 中执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ::
若需要 Hyper-V(可选) dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V -All /norestart
启用完成后,务必重启系统使之生效。
4. 确认 WSL2 默认版本
如果是首次安装或使用 WSL,可以先执行以下命令,让默认版本切换为 WSL2:
wsl --set-default-version 2
随后再安装您需要的 Linux 发行版,或者通过 wsl --install --no-distribution
完成系统自动安装。
5. 确认 BCD 配置中未禁用 Hypervisor
在有些情况下,系统引导配置 (BCD) 里可能被关闭了 Hyper-V/Hypervisor。可以通过如下命令检查并修复:
bcdedit
如果里面的
hypervisorlaunchtype
显示为Off
,则说明被禁用。bcdedit /set hypervisorlaunchtype auto
-
重启系统 后再次检查。
6. 特殊情况与排查思路
-
Windows Home 版本无法找到“Hyper-V”
- Windows 10/11 家庭版默认不提供 Hyper-V,但可以只用“虚拟机平台”+WSL2来运行 Docker Desktop;因此重点是保证 “虚拟机平台” 和 WSL 功能开启。
- 某些情况下,Docker Desktop 依赖 WSL2 后端即可运行,而不一定需要完整 Hyper-V。
-
和其他虚拟机软件冲突
- 如果之前安装了 VirtualBox、VMware Workstation 等第三方虚拟化软件,可能会导致底层虚拟化冲突,需要升级到对应支持 Hyper-V/WSL2 共存的版本,或者临时卸载测试。
-
系统文件损坏
sfc /scannow dism /online /cleanup-image /restorehealth
- 然后重新启用相应功能并重启。
7. 总结操作步骤
- 确认系统版本足够新 (Win10 2004+ / Win11),并且启用了必要功能(家庭版也可以用 WSL2,但不可用完整 Hyper-V)。
- 在 BIOS 中开启虚拟化(Intel VT-x/VT-d 或 AMD-V/SVM)。
- 在 Windows 功能里勾选或用
dism.exe
命令启用:- “适用于 Linux 的 Windows 子系统” (WSL)
- “虚拟机平台” (Virtual Machine Platform)
- 如需 Hyper-V,则一起勾选/启用
- 重启(切记启用完组件后要重启才能生效)。
- 检查 BCD 配置(hypervisorlaunchtype 是否为 auto)。
- 再尝试 wsl --install 或手动导入 Docker Desktop 的 WSL distro。
只要上述关键步骤都配置正确,一般就能解决 “当前计算机配置不支持 WSL2” 以及 HCS_E_HYPERV_NOT_INSTALLED
的问题,正常使用 Docker Desktop 和 WSL2。祝你早日排查成功,顺利部署 Docker!