cxl
Published on 2025-04-11 / 10 Visits
0
0

WSL之迁移出系统盘

上一章节讲到由于模型下载的原因将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盘下还有一个导出的压缩文件其实也可以删除,如果在空间紧张的情况下


Comment