如何释放/收缩vmware虚拟磁盘空间

win10系统中,要在vmware中linux开发, 虚拟磁盘空间上百G,

ssd空间常常告急, 如何如何释放vmware空间成了问题. 网上找的方法, 如从vmware界面,虚拟机设置->硬盘->压缩, 往往不起作用.

本人亲测, 虚拟磁盘从 110多G降到60多G,释放近50多G空间.

  1. 命令行输入baobab,centos自带磁盘分析工具,查看自己的大文件都哪些

# baobab

如何释放/收缩vmware虚拟磁盘空间

 

2. 删除无用文件

3. 删除 vmware drag_and_drop 文件夹, 这是大头, 本人有25G

rm -rf ~/.cache/vmware/drag_and_drop

3. 清空回收站

4. 用内容为二进制0的文件,填充所有磁盘空间,删除这个文件.

dd if=/dev/zero of=/zero.file bs=2M

sudo sync    // 把内容都同步到磁盘

rm -rf /zero.file

原因:

- 虚拟机在操作磁盘镜像的时候,类似于只操作扇区,不考虑其上的文件系统的类型和内容;

- 磁盘镜像的存储类似于稀疏矩阵的存储,只有数据全0的时候空间才能被释放。

5. 最关键的一步,在虚拟机里面收缩根目录,

sudo /usr/bin/vmware-toolbox-cmd disk shrink /

其他

sudo /usr/bin/vmware-toolbox-cmd disk list # 查看磁盘挂载点

网上有些文章,4,5步没有连起来,导致不能收缩虚拟磁盘空间.

6. 关闭虚拟机, 从vmware界面,虚拟机设置->硬盘->压缩(本人这步,磁盘空间几乎没变化)