wsl迁移到新目录后 删除wsl内文件系统容量不减小的解决方案

c盘容量太小,便把wsl迁移到了新磁盘g下面。为检验是否成功迁移,在家目录下面拷入4个G的文件,容量改变,迁移成功但是删除文件后容量并不减小。以下是解决方案。

在cmd中输入

wsl --shutdown
diskpart

先关闭虚拟机,然后打开diskpart。

在diskpart中输入

select vdisk file="f:\ubuntu\ext4.vhdx"
attach vdisk readonly
compact vdisk 
detach vdisk
exit

显示压缩完成即可

此时磁盘映像文件 ext4.vhdx 容量减小

可将以上步骤写成脚本添加到windows的“任务计划程序” 中 使其定时自动执行,便免去了不少麻烦。

脚本如下:

建立bat脚本来作为cmd的执行脚本:

cmd_cmd.bat

@echo off
wsl --shutdown
diskpart /s C:\Users\HJJ\compact_wsl\dp_run.txt 

其中的dp_run.txt为 diskpart的执行脚本,内容如下:(与上文中在diskpart里输入的内容一致)

select vdisk file="f:\ubuntu\ext4.vhdx"
attach vdisk readonly
compact vdisk 
detach vdisk
exit

两个文件中的路径因人而异,然后将cmd_cmd.bat作为脚本添加到任务计划程序中 定时执行脚本即可。