离线环境中将现有的 WSL 1 升级到 WSL 2

在离线环境中将现有的 WSL 1 升级到 WSL 2 需要特殊处理。以下是完整的解决方案:

离线升级步骤(关键操作)

  1. 准备 WSL 2 内核更新包

    • 从联网电脑下载内核更新包:wsl_update_x64.msi
    • 通过U盘/内网传输到离线环境
  2. 强制关闭 WSL 服务

    powershell 复制代码
    wsl --shutdown
  3. 安装内核更新

    • 双击传输的 wsl_update_x64.msi 完成安装
  4. 手动设置版本转换

    powershell 复制代码
    # 设置默认版本为 WSL2
    wsl --set-default-version 2
    
    # 强制转换现有发行版
    wsl --set-version <发行版名称> 2 --force

    例如:wsl --set-version Ubuntu-20.04 2 --force

离线环境特殊问题解决

若转换后仍是 WSL 1

原因:系统组件注册异常或虚拟化支持未启用

解决方案

  1. 手动注册 WSL 2 组件:

    powershell 复制代码
    # 以管理员身份运行 PowerShell
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss" /v DefaultVersion /t REG_DWORD /d 2 /f
  2. 检查虚拟化支持(离线环境必须):

    • 重启进入 BIOS/UEFI
    • 确保启用:
      • Intel VT-x 或 AMD-V
      • 二级地址转换(SLAT)
  3. 手动启用 Windows 功能:

    powershell 复制代码
    dism /online /Enable-Feature /FeatureName:VirtualMachinePlatform /All /NoRestart
    dism /online /Enable-Feature /FeatureName:Microsoft-Windows-Subsystem-Linux /All /NoRestart
    shutdown /r /t 0

替代方案:导出/导入迁移

若直接转换失败,使用此方法:

powershell 复制代码
# 1. 导出当前发行版
wsl --export <发行版名称> C:\wsl-backup.tar

# 2. 注销旧实例
wsl --unregister <发行版名称>

# 3. 重新导入为 WSL2
wsl --import <新发行版名称> C:\wsl\new-instance C:\wsl-backup.tar --version 2

# 4. 设置默认用户(替换YourUsername)
<新发行版名称> config --default-user YourUsername

验证命令

powershell 复制代码
# 检查WSL版本
wsl -l -v

# 检查内核版本(在Linux内运行)
uname -a
# 应显示:4.19.128-microsoft-standard 或更高

离线环境注意事项

  1. 确保 Windows 版本 ≥ 2004(19041)

  2. 提前下载以下依赖(如有):

  3. 禁用快速启动:

    powershell 复制代码
    powercfg /h off

重要提示:在转换过程中如遇卡死,尝试运行:

powershell 复制代码
wsl --terminate <发行版名称>
wsl --shutdown
netsh winsock reset

通过以上步骤,即使在没有互联网连接的环境中,也能成功完成 WSL 1 到 WSL 2 的迁移。

相关推荐
wj3055853782 天前
课程 1:WSL + uv + ComfyUI 环境选择说明
python·wsl·cuda·uv·comfyui
IceSugarJJ2 天前
Windows下VSCode+ WSL项目启动流程
linux·windows·vscode·ubuntu·wsl
chen_2273 天前
windows系统安装wsl
windows·wsl
小猪写代码3 天前
拓:论 WSL 和 VMware
wsl·虚拟机
Irene19914 天前
在 WSL 中下载安装 MySQL,连接到 SQLyog(MySQL 安装在 WSL vs Windows 本地对比)
mysql·wsl
九成宫5 天前
WSL2 网络优化配置:提升Git克隆与包下载速度
windows·笔记·代理模式·pip·wsl
tkevinjd10 天前
wsl2安装
linux·wsl·虚拟机·wsl2
阿木实验室10 天前
WSL系统下免费使用SpireCV-Pro教程
wsl·spirecv
执笔仗剑天涯11 天前
WSL安装cc-switch
linux·windows·wsl·cc-switch
maxmaxma16 天前
Claude Code集成DeepSeek-V4-pro全栈开发
claude·wsl·deepseek