WSL存储迁移
把 WSL 发行版存储从系统盘(C 盘)迁移到非系统盘,可释放 C 盘空间,并降低系统盘压力。推荐使用 导出 / 注销 / 重新导入,安全且通用。
方法:导出再导入到非系统盘【推荐】
假设要把 Ubuntu 从 C 盘迁移到 D:\WSL\Ubuntu。
1. 查看当前 WSL 发行版名称
在 PowerShell 中执行:
wsl -l -v
示例输出:
NAME STATE VERSION
* Ubuntu Stopped 2
这里发行版名称是 Ubuntu。
2. 关闭 WSL
wsl --shutdown
3. 导出发行版
创建目标目录:
mkdir D:\WSL
导出为 tar 文件:
wsl --export Ubuntu D:\WSL\Ubuntu.tar
Ubuntu替换成你自己的发行版名称。
4. 注销原来的 WSL 发行版
注意:这一步会删除原来 C 盘中的 WSL 数据,请先确认上一步导出成功。
wsl --unregister Ubuntu
5. 导入到非系统盘
mkdir D:\WSL\Ubuntu
wsl --import Ubuntu D:\WSL\Ubuntu D:\WSL\Ubuntu.tar --version 2
说明:
- 第一个
Ubuntu:新的发行版名称 D:\WSL\Ubuntu:WSL 实际存储位置D:\WSL\Ubuntu.tar:之前导出的备份文件--version 2:使用 WSL2
6. 启动测试
wsl -d Ubuntu
确认可以正常进入 Linux。
恢复默认用户
导入后的 WSL 可能默认用 root 登录,需要恢复成原来的用户。
1. 进入 WSL 查看用户名
ls /home
假设用户名是 yourname。
2. 设置默认用户
不同发行版方式略有不同。
Ubuntu 可在 PowerShell 中执行:
ubuntu config --default-user yourname
如果发行版命令不是 ubuntu,可查看开始菜单中的发行版名称,或尝试:
ubuntu2004 config --default-user yourname
ubuntu2204 config --default-user yourname
注意事项
- 先导出、再注销:注销不可逆,导出失败时不要注销。
- 导出文件可保留一段时间:确认新环境正常后再删除
Ubuntu.tar,以节省磁盘空间。 - 目标盘空间要充足:导出 tar 和导入后的虚拟磁盘都会占用空间。
- WSL2 推荐:导入时加上
--version 2,与当前主流用法一致。
常用命令速查
# 列出发行版
wsl -l -v
# 关闭所有 WSL
wsl --shutdown
# 导出
wsl --export <发行版名> <导出路径.tar>
# 注销,谨慎使用,除非你自动在做什么
wsl --unregister <发行版名>
# 导入
wsl --import <发行版名> <安装目录> <导出路径.tar> --version 2
# 启动指定发行版
wsl -d <发行版名>
总结
WSL 存储迁移的核心步骤是:关闭 WSL → 导出 tar → 注销原发行版 → 导入到非系统盘 → 恢复默认用户。按上述流程操作,即可把发行版从 C 盘迁移到 D 盘或其他数据盘。