Win11 WSL 升级失败或内核报错:先查虚拟化
WSL 更新/启动失败、内核 0x800 类错误的成因(虚拟化未开、功能缺失、内核损坏),给出启用虚拟化与重装内核的路径。
简短答案
WSL 报错大多卡在虚拟化功能没开或内核组件损坏两个点上。先确认 BIOS 虚拟化与系统虚拟化功能都开着,再重装 WSL 内核。装 Win11 24H2 或 25H2 后新装 WSL 尤其要先开这两层。
先查两层虚拟化
BIOS 层
进 BIOS 找 Intel VT-x / AMD-V / SVM(或 CPU 虚拟化),设为启用。各机型入口与菜单名「视机型而定」。
系统层
systeminfo | findstr /i "virtualization"
# 或
Get-WmiObject -Class Win32_Processor | Select-Object VirtualizationFirmwareEnabled
VirtualizationFirmwareEnabled 为 True 才说明系统能用虚拟化。
再启用 Windows 虚拟化组件(管理员 PowerShell):
dism.exe /Online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All
dism.exe /Online /Enable-Feature /FeatureName:VirtualMachinePlatform /All
重装 WSL 内核
功能开齐后 WSL 仍报内核错误(0x800 类),重置内核组件:
# 管理员 PowerShell
wsl --shutdown
wsl --unregister <发行版名> # 注意:会清该发行版内数据,先备份
wsl --install -d Ubuntu
wsl --unregister会删掉发行版文件系统,先备份重要数据再跑;只重置 WSL 本体不动发行版时可用wsl --shutdown+ 重装内核。
现象对照
| 现象 | 判断 | 处理 |
|---|---|---|
wsl --install 报需重启后启用功能 |
虚拟化组件没开 | 上面的 dism 命令 |
| 启动报内核缺失/损坏 | 内核组件坏了 | 重装发行版 |
VirtualizationFirmwareEnabled 为 False |
BIOS 虚拟化没开 | 进 BIOS 开 |
| 开了虚拟化仍 0x800 类 | 与其他虚拟化软件冲突 | 关掉其他占用虚拟化的程序,重启 |
更新反复失败的更宽排错见 Windows 更新失败,WSL 内核更新有时跟随系统更新通道走;功能与更新状态查 知识板块。
操作小结
systeminfo看虚拟化是否启用;- BIOS 开 CPU 虚拟化 + 系统 dism 开功能;
- 内核损坏
wsl重装发行版(先备份); - 仍失败查虚拟化冲突与 更新失败。