可行,需先确认windows版本≥18362或为win11,以管理员身份运行wsl -l -v查看发行版version为1,再依次启用virtualmachineplatform、安装wsl2内核、执行wsl --set-default-version 2和wsl --set-version "发行版名称" 2完成升级。
直接升级现有 wsl1 发行版到 wsl2 是可行的,关键在于确保底层支持就绪,再执行版本转换。不是所有发行版都能一键切换成功,但只要 windows 版本达标(win10 1903+/build 18362+ 或 win11),整个过程可控、无需重装系统。
确认当前状态和基础环境
先检查你的 WSL 当前配置是否满足升级条件:
- 按 Win + R 输入
winver,确认系统版本 ≥ 18362(Win10)或任意 Win11 版本 - 以管理员身份打开 PowerShell,运行:
wsl -l -v,查看目标发行版的 VERSION 是否为 1,STATE 是否为 Stopped 或 Running - 若命令报错“无法识别”,说明 WSL 尚未启用,需先运行
wsl --install或手动开启子系统功能
启用虚拟化与安装 WSL2 内核
WSL2 依赖 Windows 虚拟机平台和 Linux 内核,这两步缺一不可:
- 运行命令启用虚拟化支持:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart - 重启电脑(必须)
- 重启后,下载并安装官方 WSL2 Linux 内核更新包(微软官网提供 MSI 安装器,适用于 x64/ARM64)
- 安装完成后,在 PowerShell 中运行:
wsl --update,确保内核为最新
设置默认版本并升级已有发行版
设好默认行为,再针对性升级你的主力发行版:
- 运行:
wsl --set-default-version 2,这样后续新装的发行版自动为 WSL2 - 再次运行:
wsl -l -v,记下你当前使用的发行版名称(如Ubuntu-22.04) - 执行升级命令:
wsl --set-version "Ubuntu-22.04" 2(注意名称带引号,含空格或特殊字符时必需) - 转换过程可能持续 2–10 分钟,期间不要关闭终端;完成后再次
wsl -l -v,VERSION 应显示为 2
常见卡点与快速修复
如果升级失败或卡在 “Conversion in progress…”,大概率是以下原因:
-
Hypervisor 被禁用:VMware、Android Studio 或旧版虚拟机软件可能修改了启动项,运行
bcdedit /set hypervisorlaunchtype auto并重启 -
vmcompute 服务未运行:在 PowerShell 中执行
Start-Service vmcompute - aehd 驱动冲突(常见于 Android 模拟器):卸载或禁用相关驱动,或临时关闭模拟器再试
- 磁盘空间不足:转换需额外空间(通常 ≥2GB),清理后再试











