- Published on
解决 WSL 占用 C 盘空间过大问题:迁移到其他磁盘
- Authors
- Name
- 阮达达
- Github
- @ruandada
💡 TL;DR: 本文介绍了如何将 WSL 从系统盘迁移到其他磁盘,以解决 C 盘空间不足的问题。主要通过
wsl --export
和wsl --import
命令实现。
背景
WSL(Windows Subsystem for Linux) 默认将所有数据存储在系统盘(C 盘),对于寸土寸金的 C 盘来说,非常的不合理。本文将介绍如何将 WSL 环境迁移到其他磁盘。
迁移步骤
1. 查看当前安装的 WSL 发行版
首先进入 WSL,记录自己当前的用户名,后续会用到
Zsh
➜ ~ echo $USER
admin
记录下默认用户名,比如 admin
。
然后在 PowerShell 中关闭当前的 WSL 系统,并列出目前已安装的 WSL
PowerShell
# 关闭 WSL 系统
wsl --shutdown
# 查看当前安装的 WSL 发行版
wsl -l -v
你将会看到类似如下输出:
NAME STATE VERSION
* Ubuntu Running 2
记录下你想要迁移的发行版名称,比如 Ubuntu
。
2. 导出现有 WSL 环境
将当前的 WSL 环境导出为一个 tar 文件:
PowerShell
# 导出 WSL 发行版
wsl --export Ubuntu D:\ubuntu.tar
3. 注销当前 WSL 实例
PowerShell
# 注销现有的 WSL 实例
wsl --unregister Ubuntu
⚠️ 注意:这一步会删除原有的 WSL 环境,请确保已经完成导出操作。
4. 重新导入 WSL 到新位置
创建新的目标文件夹并导入:
PowerShell
# 创建新的目标文件夹
mkdir D:\WSL
# 导入 WSL 到新位置
wsl --import Ubuntu D:\WSL D:\ubuntu.tar
在使用 wsl --import
命令导入 WSL 后,系统会默认使用 root 用户登录。要恢复到之前的用户,可以执行:
PowerShell
# 设置默认用户
ubuntu.exe config --default-user admin
💡 提示:将
admin
替换为你在第一步中记录下的用户名
验证迁移是否成功
PowerShell
# 检查 WSL 状态
wsl -l -v
至此,我们完成了 WSL 的迁移工作。完结撒花!
🔍 相关资源