问题分析
Windows
会为WSL2
创建vhdx
后缀的磁盘镜像文件,但是只支持自动扩容,但是一般不会自动缩容。在WSL2
内删除文件后WSL2
磁盘空间不释放,占用很大的磁盘空间。
解决方案
首先清理WSL2
的空间,一层层进去删除清理
# 查看最大占用空间的目录,当前为/
sudo du -h --exclude="mnt*" --exclude="proc*" -d 1 /
# 查看当前目录占用
sudo du -h --max-depth=1
使用Windows
自带的工具清理
# 首先关闭正在运行的wsl2
wsl --shutdown
# 打开diskpart
diskpart
在新打开窗口运行命令
DISKPART> select vdisk file="F:\Kali\ext4.vhdx"
# DiskPart 已成功选择虚拟磁盘文件。
DISKPART> attach vdisk readonly
# 100 百分比已完成
# DiskPart 已成功连接虚拟磁盘文件。
DISKPART> compact vdisk
# 100 百分比已完成
# DiskPart 已成功压缩虚拟磁盘文件。
DISKPART> detach vdisk
# DiskPart 已成功分离虚拟磁盘文件。
DISKPART> exit
结果
WSL2
占用空间从 88.7 GB 降到 56.3 GB