WSL的清理与迁出

记录一次Wsl ubuntu清理内存占用的过程

发布于 2025-02-21 更新于 2025-02-21604 字 2 分钟
WSL的清理与迁出的文章封面
展开文章目录
  1. 0 系统环境
  2. 1. 找出占用空间的文件(夹)
  3. 2. 删除不必要的文件与文件夹
  4. 3. 使用 DiskPart 压缩磁盘
  5. 4. 将 WSL 迁移至其他盘
  6. 4.1 准备工作
  7. 4.2 导出/恢复备份

以前在复现一些基于Linux系统的项目时,一直在使用 WSL2 这个工具,然而近期在使用过程中发现了一个很头疼的问题——WSL安装系统时,默认只会直接安装在 C 盘(包括Docker-desktop),久而久之便会占用大量的 C 盘空间,并且如果直接通过系统的命令行进行删除操作,并不会直接释放占用的 C 盘空间。

这对我这种对硬盘空间极为焦虑的人十分不友好,也算是误打误撞发现了硬盘莫名其妙爆红的元凶…在查阅了一些网上大佬们的解决方案后,也是顺利解决了,在此记录一下这次清理的过程。

0 系统环境

wsl --version

WSL 版本: 2.6.0.0
内核版本: 6.6.87.2-1
WSLg 版本: 1.0.66
MSRDC 版本: 1.2.6228
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.26100.6584

lsb_release -a

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.5 LTS
Release:        22.04
Codename:       jammy

1. 找出占用空间的文件(夹)

网上很多教程都是通过压缩的方法解决,但是没有先清理 wsl 中的垃圾,实测一点毛用没有=-=

这里我是这样逐步找出占用空间较大的文件,在 Ubuntu 中运行以下指令

 sudo du -h --max-depth=1 --exclude=/proc --exclude=/mnt/* / | sort -rh

文章配图

文章配图


2. 删除不必要的文件与文件夹

可以看到根目录/总共用了159G,主要大头在 root 用户下的文件夹中以及 statistical (这是之前某次参加比赛使用的文件夹,里面存放了许多模型预训练权重,因此占用空间较大,时间一久把他给忘记了…现在他的使命也完成了,直接进行删除~),将相关无用文件夹进行 rm -rf 操作后,再查看一下 root 文件夹下,可以发现接下来的重头戏就是 .cache 缓存的清理了。

文章配图

其中 Pip 缓存可以通过以下指令安全删除

pip cache purge

其他缓存根据个人使用和需求可以进行自行删除


3. 使用 DiskPart 压缩磁盘

# 依次运行以下指令

# 先再Windows命令行中关闭 wsl
wsl --shutdown

diskpart
# 下面需要找出占用空间较大的磁盘文件,以下是我的目录
select vdisk file="C:\Users\ROG\AppData\Local\Docker\wsl\main\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

清理到这里就完成了,以下是清理前后的对比:

文章配图

文章配图


4. 将 WSL 迁移至其他盘

4.1 准备工作

先通过以下操作查看 wsl 中虚拟机状态,注意接下来的操作需要确保系统为关闭状态,可以使用 wsl --shutdown 来关闭 wsl。

wsl -l -v

  NAME              STATE           VERSION
* Ubuntu            Stopped         2

4.2 导出/恢复备份

在 E 盘创建一个目录用来存放新的WSL,比如我创建了一个 E:\Ubuntu_WSL

# 导出原系统的备份
wsl --export Ubuntu E:\Ubuntu_WSL\Ubuntu.tar
# 确定在此目录下可以看见备份Ubuntu.tar文件之后,注销原有的wsl
wsl --unregister Ubuntu
# 恢复备份文件
wsl --import Ubuntu E:\Ubuntu_WSL E:\Ubuntu_WSL\Ubuntu.tar

此时打开 wsl ,可以发现已经可以正常使用了。

如果这篇记录对你有帮助,可以留下一句回应。

前往留言

DISCUSSION

讨论与回应

欢迎补充细节、指出问题,或分享与这篇文章有关的经验。

昵称与邮箱为必填项,邮箱仅用于头像和回复通知,不会公开。网址可以留空。

正在准备留言区…

演示赞赏界面

谢谢你愿意支持长期写作。

第一阶段不会发起支付或收集任何信息。接入真实赞赏渠道后,这里会展示清楚的金额、渠道和完成状态。

输入关键词开始搜索 · 按 Esc 关闭
打开完整搜索页 →