LoongLee's blog

WSL子系统迁移指南

WSL子系统迁移指南

来源

原始文档: wsl子系统迁出.md

核心内容

Windows Linux 子系统(WSL)的导出、导入和迁移完整流程。

适用场景

  • 将 WSL 从 C 盘迁移到 D 盘/其他磁盘
  • 备份/还原完整 Linux 开发环境
  • 修复导入后默认进入 root 的问题
  • 多 Ubuntu 版本(20.04/22.04)并存管理

查看 WSL 状态

wsl -l -v

输出示例:

NAME            STATE     VERSION
* Ubuntu-20.04  Stopped   2
  Ubuntu-22.04  Stopped   2

导出发行版

# 1. 停止所有 WSL
wsl --shutdown

# 2. 导出为 tar 文件
wsl --export Ubuntu-20.04 D:\WSL\ubuntu20.tar

注销原发行版

wsl --unregister Ubuntu-20.04

⚠️ 注意: 这会删除原 ext4.vhdx,但不影响已导出的 tar 文件

导入到新位置

# 创建目录
mkdir D:\WSL

# 导入
wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\WSL\ubuntu20.tar --version 2

设置默认用户

导入后默认以 root 登录,需要修改配置:

# 进入 WSL
wsl -d Ubuntu-20.04

# 创建/编辑配置
nano /etc/wsl.conf

写入:

[user]
default=your_username

重启生效:

wsl --shutdown
wsl

验证迁移

# 检查根目录位置
df -h

# 验证环境
python3 -V
ros2 --version
docker info

清理

# 删除 tar 文件释放空间
del D:\WSL\ubuntu20.tar

关键要点

  • 导出 → 注销 → 导入 → 设置默认用户,四步完成迁移
  • 每个发行版需单独设置 /etc/wsl.conf
  • 建议将 WSL、Docker、工程数据统一放 D 盘
  • 原开发环境(软件、配置)会完整保留

相关实体

  • WSL - Windows Linux 子系统
  • Windows - Windows 操作系统
  • Linux - Linux 操作系统
  • 系统迁移 - 系统迁移方法