WSL2 安装到其他磁盘(D/E盘)完整指南

WSL2 安装到其他磁盘(D/E盘)完整指南

适用于 Windows 10/11 + Ubuntu 发行版

目标:避免 WSL 占用 C 盘空间(适合深度学习 / Docker / 大模型环境)


一、原理说明

WSL 不能直接指定安装路径:

  1. 必须先安装到 C 盘
  2. 再通过 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 已完全运行在其他磁盘

相关推荐
深念Y4 小时前
从 Windows 迁移到 Linux 开发环境的记录
linux·windows·链接·bun·ram·imdisk
Cerman10 小时前
QEMU启动OVMF shell超时分析
c语言·windows·经验分享
小鱼仙官13 小时前
Ubuntu C++ NTP校时程序
linux·c++·ubuntu
CHHH_HHH14 小时前
【Linux系统篇】深入解析Linux文件系统:从磁盘寻址到软硬链接
linux·服务器·开发语言·后端·ubuntu
comedate1 天前
Windows / Linux GPU 虚拟内存布局差异与 CUDA 越界访问行为
linux·windows·mmu·cuda 越界访问
IT技术分享社区1 天前
Windows桌面时钟推荐:始终置顶、无级缩放、支持全屏游戏显示时间
windows·微软技术·电脑技巧·桌面美化·电脑干货
晨枫阳1 天前
@changesets/cli是什么?哪些情况下需要使用?怎么使用
linux·运维·ubuntu
公子小六1 天前
基于.NET的Windows窗体编程之WinForms音频控件
windows·microsoft·c#·.net·音视频·winforms
诸神缄默不语1 天前
如何在Win11系统中找到是哪个程序占用了指定端口
windows
hkNaruto1 天前
【Linux】Ubuntu 22.04 LTS GNOME 原生远程桌面配置:告别vnc、nomachine
linux·运维·ubuntu