上一章节讲到由于模型下载的原因将C盘撑爆了,不得不寻求解决之法,虽然最终暂时解决了系统盘容量问题,但终归治标不治本,毕竟系统盘通常承担着操作系统的运行和各种系统文件的存储任务。随着使用时间的增加,系统盘空间可能会逐渐变得紧张。而 WSL 子系统在运行过程中会不断产生数据,如果一直安装在系统盘,会进一步占用系统盘空间,可能导致系统运行速度变慢,甚至出现空间不足的情况。将其迁移到其他盘,可以释放系统盘空间,让系统保持良好的运行状态。
迁移前系统盘情况
开始迁移
关闭要迁移的系统
打开 powershell 命令窗口,输入 wsl --shutdown
关闭正在运行的子系统
查询迁移系统名
通过
wsl --list
查询已经安装的系统列表,我这里是 Ubuntu-22.04 要迁移
导出虚拟机
wsl --export Ubuntu-22.04 d:\ubuntu22.tar
等待时间几分钟不止,取决于你的系统大小。导出时的状态如下
导出完成后来看下C盘与D盘的情况
可以看到导出的目的地D盘容量少了,可是C盘却没少,这是因为这里导出相当于是克隆一份了,原来的系统还在,接下来注销它之后再看C盘与D盘的情况,立马不慌了有木有
注销虚拟机
wsl --unregister Ubuntu-22.04



导入虚拟机
wsl --import <DistributionName> <InstallLocation> <FileName> [--version <Version>]
这个命令用于将一个 WSL 发行版从指定的压缩包导入到本地。
参数说明
<DistributionName>
:要导入的 WSL 发行版的名称,你可以自定义,最好与导出时的一致。<InstallLocation>
:发行版的安装路径,这个路径必须是本地磁盘上的一个空文件夹。<FileName>
:包含发行版文件的压缩包的路径,可以是.tar
文件。[--version <Version>]
:可选参数,指定要导入的 WSL 版本(1 或 2),若不指定,默认使用当前 WSL 的默认版本。
wsl --import Ubuntu-22.04 d:\WSL\ubuntu22\ d:\ubuntu22.tar --version 2
导入成功后查看安装目录,然后进入系统查看是否与原有系统一致
迁移后系统盘情况
D盘下还有一个导出的压缩文件其实也可以删除,如果在空间紧张的情况下