离线环境中将现有的 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 的迁移。

相关推荐
GoodG_study2 天前
一文教您解决win11运行Ubuntu,wsl相关命令出现系统找不到指定文件的错误提示
linux·ubuntu·wsl
WX _ jishuwu19902 个月前
CataPro本地安装教程--No GPU--cpu only模式--网络资料整理
ubuntu·cpu·wsl·python 3
救救孩子把2 个月前
在 Windows上用WSL和VSCode进行Linux开发环境配置
linux·windows·vscode·wsl
weiwei228442 个月前
也玩音频克隆IndexTTS
gpu·wsl·语音生成·index-tts
weiwei228442 个月前
WSL初探
wsl·虚拟机
Damon小智2 个月前
玩转ClaudeCode:ClaudeCode安装教程(Windows+Linux+MacOS)
windows·ai·mac·wsl·claude code·vibe code
走过,莫回头2 个月前
WSL命令
wsl
fzyz1232 个月前
Windows系统下WSL从C盘迁移方案
人工智能·windows·深度学习·wsl
海王星没有海3 个月前
从原理上理解Win11环境下WSL2如何配置pytorch环境并调用NVIDIA GPU
pytorch·wsl