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 操作系统
- 系统迁移 - 系统迁移方法