17370845950

Win11怎么开启WSL2 Win11升级Linux子系统版本【开发】
必须执行版本升级操作才能将WSL1升级至WSL2。方法包括:一、用wsl --set-version命令升级现有发行版;二、设默认版本后新装发行版;三、导出导入重建为WSL2实例;四、检查修复虚拟化、内核等依赖项。

如果您已在Windows 11上安装了WSL1,但需要升级至WSL2以获得完整Linux内核支持、Docker兼容性及更高I/O性能,则必须执行版本升级操作。以下是多种可行的升级方法:

一、使用wsl --set-version命令升级现有发行版

该方法直接将已安装的WSL1发行版转换为WSL2架构,无需重装系统,适用于已存在Ubuntu、Debian等分发版的用户。

1、以管理员身份打开PowerShell或Windows终端。

2、运行命令列出当前所有已安装的发行版及其版本:wsl -l -v

3、确认目标发行版名称(例如Ubuntu-22.04)且其VERSION列为1。

4、执行升级命令,将发行版名称替换为实际名称:wsl --set-version 发行版名称 2

5、等待转换完成,状态显示“Conversion in progress…”后自动终止,再次运行wsl -l -v验证VERSION是否已变为2。

二、设置WSL默认版本后新装发行版启用WSL2

此方法不修改现有WSL1实例,而是确保后续所有新安装的发行版默认采用WSL2,适合需保留旧环境并新增开发环境的场景。

1、以管理员身份打开PowerShell。

2、运行命令启用WSL2默认行为:wsl --set-default-versi

on 2

3、执行命令查看可选发行版列表:wsl --list --online

4、选择目标发行版(如Ubuntu-24.04),运行安装命令:wsl --install -d Ubuntu-24.04

5、安装完成后,运行wsl -l -v确认新发行版VERSION列显示为2且STATE为Stopped或Running。

三、通过导出导入方式重建为WSL2实例

当原发行版出现严重配置损坏、内核模块冲突或需迁移存储位置时,可先导出为tar归档,再以WSL2模式重新导入,实现干净升级。

1、在PowerShell中导出当前WSL1发行版(以Ubuntu为例):wsl --export Ubuntu C:\backup\ubuntu-wsl1.tar

2、注销并终止该发行版:wsl --unregister Ubuntu

3、创建新目录用于存放WSL2实例(如D:\WSL\Ubuntu24)。

4、执行导入命令并强制指定WSL2版本:wsl --import Ubuntu D:\WSL\Ubuntu24 C:\backup\ubuntu-wsl1.tar --version 2

5、启动新实例:wsl -d Ubuntu,验证uname -r输出是否含“microsoft”字样及内核版本高于5.10。

四、检查并修复WSL2升级失败的常见依赖项

若上述任一升级命令报错(如“Invalid argument”、“WSL version update failed”或“Kernel not found”),说明底层依赖未就绪,需逐项验证并修正。

1、确认系统已启用虚拟机平台:dism.exe /online /get-featureinfo /featurename:VirtualMachinePlatform,状态应为“已启用”。

2、确认BIOS/UEFI中已开启CPU虚拟化(Intel VT-x 或 AMD-V),可通过任务管理器“性能”页签底部查看“虚拟化”是否显示“已启用”。

3、检查是否已安装WSL2内核更新包:访问注册表路径HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss\Kernel,确认Version值存在且不为空。

4、若内核缺失,手动下载并安装最新版:https://aka.ms/wsl2kernel

5、运行wsl --update强制刷新内核,并重启WSL服务:wsl --shutdown后再尝试升级命令。