WSL2 迁移出 C 盘
本文介绍如何将 WSL2 发行版从 C 盘迁移到其他磁盘,释放系统盘空间。提供两种方案:官方迁移命令和手动导出导入。
💾 为什么要迁移 WSL2?
WSL2 默认安装在 C 盘,随着使用时间增长会占用大量空间:
- 虚拟磁盘文件:WSL2 使用 vhdx 文件存储数据,可能达到数十 GB
- 开发环境:Node.js、Python 等工具的依赖包会持续增长
将 WSL2 迁移到其他磁盘可以有效释放 C 盘空间。
📋 前置准备
- 确保目标磁盘有足够空间(建议预留 50GB 以上)
- 关闭所有正在运行的 WSL 实例
- 备份重要数据
✅ 方案一:官方迁移命令(推荐)
适用版本:WSL 2.3.11 及以上
这是最简单、最安全的迁移方式,由 WSL 官方提供支持。
1. 查看可用命令
powershell
wsl --help可以看到 --manage --move 命令:

2. 停止 WSL
powershell
wsl --shutdown3. 开始迁移
powershell
wsl --manage Ubuntu-22.04 --move "D:\Software\WSL\Ubuntu-22.04"参数说明:
Ubuntu-22.04:要迁移的发行版名称D:\Software\WSL\Ubuntu-22.04:目标路径
迁移过程需要几分钟,请耐心等待。
4. 验证迁移结果
迁移完成后,可以看到成功提示,并可在新目录验证:

优点
- 官方支持,安全可靠
- 操作简单,一条命令完成
- 自动处理文件迁移和配置更新
- 不会丢失用户数据和设置
🔄 方案二:手动导出导入
适用场景:WSL 版本低于 2.3.11 或需要更精细的控制
这种方式通过导出、注销、导入三步完成迁移。
注意
此方案未经实际验证,操作前请务必备份重要数据。
1. 停止 WSL
powershell
wsl --shutdown2. 导出发行版
将当前发行版导出为 tar 文件:
powershell
wsl --export Ubuntu-22.04 "D:\Software\WSL\Ubuntu-22.04-export.tar"导出过程可能需要几分钟,取决于数据量大小。
3. 注销原发行版
powershell
wsl --unregister Ubuntu-22.04警告
此操作会删除 C 盘上的原发行版,请确保已成功导出备份文件。
4. 导入到新位置
powershell
wsl --import Ubuntu-22.04 "D:\Software\WSL\Ubuntu-22.04" "D:\Software\WSL\Ubuntu-22.04-export.tar"参数说明:
Ubuntu-22.04:发行版名称D:\Software\WSL\Ubuntu-22.04:新的安装目录D:\Software\WSL\Ubuntu-22.04-export.tar:导出的备份文件
5. 恢复默认用户
导入后默认使用 root 用户,需要恢复原用户:
powershell
ubuntu2204 config --default-user <username>🔧 常见问题
如何查看 WSL 版本?
powershell
wsl --version如果版本低于 2.3.11,建议先更新 WSL:
powershell
wsl --update如何查看已安装的发行版?
powershell
wsl --list --verbose会显示所有已安装的发行版名称、状态和版本。
Docker Desktop 如何迁移到非 C 盘?
Docker Desktop 安装位置
如果你还没有安装 Docker Desktop,或者想将 Docker Desktop 和数据目录也迁移到非 C 盘,请参考 Windows 11 家庭版安装 Docker Desktop,其中有详细的自定义安装路径说明。
相关资源:
相关文章: