作为序言,我使用Ubuntu与WSL。
最近,我一直在努力弄清楚如何确切地清除存储在ext4.vhdx
中的硬盘驱动器占用的磁盘空间。
Windirstat可视化屏幕截图:
当我检查Ubuntu以查看ncdu
使用了多少存储空间时,它只显示了正在使用的仅323.6 MB的存储。然而,当我运行df
时,它显示了大量的文件系统,它们占用了几乎99%的分配空间。
df
输出的截图:
这些文件系统是导致我的存储空间被填满的原因吗?我能做些什么来修复这个问题吗?
发布于 2021-03-05 06:41:22
从您在df
中所显示的情况来看,我敢说ncdu
是正确的,使用的存储量是正确的。该数字将在325 or左右,给予或接受。您在df
中看到的是指向相同位置的许多挂载,这就是它们都有完全相同的数字集的原因。
您所面临的问题与Ubuntu无关,与Windows无关。关于这个话题的一个长期存在的WSL Github问题从2019年11月就已经开通了。WSL将自动增长您的虚拟磁盘,您正确地将其标识为ext4.vhdx
,但是缩小它以回收未使用的空间是当前必须手动完成的事情。
首先要做的是:
vhdx
的副本作为备份(如果事情发生横向变化)接下来,如果您使用的是Windows (或其他更昂贵的东西),可以安装Hyper并使用优化-VHD来调整图像如上述GitHub问题所述的大小:
optimize-vhd -Path .\ext4.vhdx -Mode full
如果您使用的是Windows或更高版本,则需要这样的使用dispart
:
diskpart
select vdisk file="C:\WSL-Distros\…\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
第三种选择是导出WSL图像并重新导入它.,可以这样做:
wsl --shutdown
wsl -l -v
wsl --export
wsl --unregister
wsl --import
wsl -l -v
注意:导入图像后的 默认的用户名需要重置。。
至于“为什么Windows使用70.3GB的存储或0.3GB的WSL映像?”,您需要询问Redmond的人,因为知道答案远远超出了我的薪资等级。
希望这能帮你找回好的存储空间。
https://askubuntu.com/questions/1321247
复制相似问题