需将WSL1发行版升级为WSL2以支持Docker等内核特性,步骤包括:确认版本为1且Windows版本≥19041、BIOS开启虚拟化;启用WSL和虚拟机平台功能并重启;安装WSL2内核更新包;执行wsl --set-version升级指定发行版;最后设默认版本为2。

你需要把已安装的WSL1发行版(比如Ubuntu-22.04)完整迁移到WSL2架构,不重装系统、不丢失/home下的代码和配置文件,同时确保Docker等依赖内核特性的工具能正常运行。
确认当前状态与系统前提
以管理员身份打开PowerShell(Win+X → Windows Terminal(管理员)),执行:
wsl -l -v
观察输出中你的发行版名称(如Ubuntu-22.04)对应的VERSION列是否为【1】;若为2则无需升级。同时检查Windows内部版本号必须≥19041(运行[System.Environment]::OSVersion.Version.Build验证),低于此值无法启用WSL2。
若任务管理器→性能→CPU页显示“虚拟化:已禁用”,需重启进BIOS开启Intel VT-x或AMD SVM,否则后续所有命令都会失败。
启用必要Windows功能并重启
在同一个管理员PowerShell窗口中依次执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart → dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
这两条命令必须都成功返回“操作成功完成”,缺一不可。执行完立即重启电脑——【不重启会导致后续内核安装失败且无提示】。
安装WSL2 Linux内核更新包
访问微软官方链接下载安装包:
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
双击运行该MSI文件,全程默认下一步即可。安装过程无声无息,完成后无需手动操作或重启。
将指定发行版升级到WSL2
重启后再次以管理员身份打开PowerShell,运行:
wsl --set-version Ubuntu-22.04 2
把Ubuntu-22.04替换成你实际发行版名称(可用wsl -l查看)。执行后会显示“正在进行转换,这可能需要几分钟时间”——此时不要关闭窗口、不要强制终止,等待进度完成。转换期间WSL实例处于锁定状态,强行中断可能导致文件系统损坏。
转换结束后,再次运行wsl -l -v,确认对应发行版VERSION已变为【2】且STATE不是“Stopping”即可。
设WSL2为新发行版默认版本(可选但推荐)
执行:
wsl --set-default-version 2
此后通过wsl --install -d安装的任何新Linux发行版都会直接使用WSL2,避免重复配置。










