虚拟化已开启但仍无法安装WSL2

最近安装Docker的时候遇到无法安装WSL2的问题,搞了好久,最后发现,好像是虚拟机平台这个功能缺失,因为我确实打开了,但是不生效,最后搜了下,解决方法如下。

一、确认虚拟化是否真的启用

  1. 任务管理器检查

    • Ctrl+Shift+Esc打开任务管理器
    • 切换到”性能”选项卡,查看CPU部分
    • 关键:确认”虚拟化”状态显示为”已启用”
  2. 命令行验证

    • 以管理员身份打开PowerShell
    • 运行:systeminfo | findstr /I "虚拟化 已启用"
    • 若输出包含”固件中已启用虚拟化: 是”,则表示已启用
  3. 若显示未启用:

    • 重启电脑,按F2/Del/Esc等键进入BIOS设置
    • 在”Advanced”或”CPU Configuration”中找到”Intel VT-x/AMD-V”选项,设为”Enabled”
    • 保存并重启

二、检查Windows功能设置

  1. Win+R,输入optionalfeatures.exe并回车,打开”启用或关闭Windows功能”
  2. 确保勾选以下两项:
    • ✅ 适用于Linux的Windows子系统
    • ✅ 虚拟机平台
  3. 点击确定,重启电脑

三、若仍无法安装(常见错误:0x80370102)

方法1:手动启用功能(推荐)

1
2
3
4
# 以管理员身份打开PowerShell
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
# 重启电脑

方法2:重置WSL并重新安装

1
2
3
4
5
6
# 以管理员身份打开PowerShell
wsl --shutdown
wsl --unregister <已安装的Linux发行版名称> # 如Ubuntu
wsl --uninstall
wsl --install # 自动安装WSL2并下载默认发行版
# 重启电脑

方法3:检查并更新WSL内核

  1. 打开Microsoft Store,搜索”Windows Subsystem for Linux”
  2. 确保已安装”Windows Subsystem for Linux Update”
  3. 或运行:wsl --update

四、其他可能原因

  • 系统版本不支持:确保Windows 10/11版本≥18362
  • 第三方虚拟化软件冲突:暂时关闭或卸载VMware、VirtualBox等
  • 缺少Windows更新:检查并安装所有更新
  • 虚拟机平台选项缺失
    1
    2
    # 以管理员身份运行
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

五、验证安装是否成功

安装完成后:

  • 打开PowerShell,运行:wsl --list --verbose
  • 确认已安装的发行版”版本”列为”2”
  • 运行:wsl,应能进入Linux环境

总结:WSL2安装失败最常见原因是虚拟化未真正启用或Windows功能设置缺失。按照上述步骤依次检查,90%以上的安装问题都能解决。如仍有问题,建议查看具体错误代码并参考微软官方文档(https://aka.ms/wsl-install)。