WSL2 安装到其他磁盘(D/E盘)完整指南
适用于 Windows 10/11 + Ubuntu 发行版
目标:避免 WSL 占用 C 盘空间(适合深度学习 / Docker / 大模型环境)
一、原理说明
WSL 不能直接指定安装路径:
- 必须先安装到 C 盘
- 再通过
export/import迁移到其他盘
最终结构:
C盘: 仅保留 WSL 内核
D/E盘: 真正的 Linux 系统与所有数据
二、安装 WSL + Ubuntu
管理员 PowerShell:
powershell
wsl --install -d Ubuntu
安装完成后 必须启动一次:
powershell
wsl
创建用户:
Create a default Unix user account:
username: 自定义
password: 自定义
验证安装:
powershell
wsl -l -v
输出示例:
NAME STATE VERSION
Ubuntu Running 2
三、关闭 WSL
powershell
wsl --shutdown
四、创建目标目录(例如 E盘)
powershell
mkdir E:\WSL
五、导出 Linux 系统
powershell
wsl --export Ubuntu E:\WSL\ubuntu.tar
说明:
- 这是 Linux 的完整镜像
- 时间约 1~5 分钟
六、删除 C 盘系统
powershell
wsl --unregister Ubuntu
此时 C 盘空间会立即释放
七、导入到其他盘(关键步骤)
powershell
wsl --import Ubuntu E:\WSL\Ubuntu E:\WSL\ubuntu.tar --version 2
含义:
| 参数 | 说明 |
|---|---|
| Ubuntu | 新系统名称 |
| E:\WSL\Ubuntu | 实际安装位置 |
| ubuntu.tar | 导出的系统镜像 |
| --version 2 | 强制使用 WSL2 |
八、设为默认发行版
powershell
wsl -s Ubuntu
进入系统:
powershell
wsl
九、验证是否在 E 盘运行
Linux 内执行:
bash
df -h /
如果看到路径类似:
/dev/sdX xxxG ... /mnt/wsl/Ubuntu
说明迁移成功
十、删除镜像释放空间
powershell
del E:\WSL\ubuntu.tar
十一、开启 systemd(Docker 必须)
编辑:
bash
sudo nano /etc/wsl.conf
写入:
ini
[boot]
systemd=true
[automount]
options = "metadata"
应用配置:
powershell
wsl --shutdown
重新进入:
powershell
wsl
验证:
bash
systemctl
完成效果
- Linux 文件系统完全在 D/E 盘
- Docker 镜像不再写入 C 盘
- 可安全存放大型模型(100GB+)
常见错误
错误:WSL_E_DISTRO_NOT_FOUND
原因:尚未安装 Ubuntu
解决:
powershell
wsl --install -d Ubuntu
错误:导入后无法启动
执行:
powershell
wsl --update
wsl --shutdown
至此,WSL 已完全运行在其他磁盘