全程使用管理员 PowerShell执行;路径不要带中文、空格。
一、前期准备
1.查看 WSL 发行版名称
wsl-l-v输出示例:
NAME STATE VERSION*Ubuntu Running 2记下 NAME(本例:Ubuntu)。
2.彻底关闭所有 WSL 实例
wsl--shutdown3.手动新建 2 个文件夹(举例 D 盘)
备份包存放:D:\WSL_Backup
迁移后镜像永久目录:D:\WSL\Ubuntu
二、导出 WSL 系统备份 tar 包
# 格式:wsl --export 发行版名 tar包完整路径wsl--export Ubuntu D:\WSL_Backup\ubuntu.tar三、注销 C 盘原有实例(释放 C 盘空间)
确认导出成功再执行,执行后 C 盘虚拟磁盘直接删除
wsl--unregister Ubuntu四、导入到 D 盘目标目录
# 格式:wsl --import 发行版名 存放目录 tar包路径 --version 2wsl--import Ubuntu D:\WSL\Ubuntu D:\WSL_Backup\ubuntu.tar--version 2五、修复默认登录用户(迁移后默认 root 登录)
1.进入 WSL
wsl-d Ubuntu2.写入配置文件(把asher换成你的 Linux 用户名)
echo-e"[user]\ndefault=asher"|sudotee/etc/wsl.conf3.重启 WSL 生效
wsl--terminate Ubuntu六、验证迁移成功
# 查看存储路径wsl-l-v# 进入系统测试wsl附加:Docker Desktop 配套 WSL 迁移(如果你装了 Docker)
Docker 镜像、容器存在docker-desktop-data,默认占大量 C 盘,同样迁移:
wsl--shutdown# 导出数据wsl--export docker-desktop-dataD:\WSL_Backup\docker-data.tar# 注销旧实例wsl--unregister docker-desktop-data# 导入D盘wsl--import docker-desktop-dataD:\WSL\DockerData D:\WSL_Backup\docker-data.tar--version 2