windows下vmdk虚拟盘占用远超实际,使用清理磁盘压缩失败的处理
windows下vmdk虚拟盘占用远超实际,使用清理磁盘压缩失败的处理问题压缩方法最终效果问题虚拟盘,实际使用只有30G不到,但是无论如何使用vmware workstation自带的“虚拟机->管理->清理磁盘”,也无法再压缩下去压缩方法仿照linux下的open-vmtools磁盘压缩方法,使用vmware-toobox-cmd(前提是系统已经安装了vmware tools)C:\
·
问题
虚拟盘,实际使用只有30GB不到,但是无论如何使用vmware workstation自带的“虚拟机->管理->清理磁盘”,也无法再压缩下去,vmdk占用达到80GB
压缩方法
仿照linux下的open-vmtools磁盘压缩方法,使用vmware-toobox-cmd(前提是系统已经安装了vmware tools)
C:\Program Files\VMware\VMware Tools>VMwareToolboxCmd.exe disk list
C:\
C:\Program Files\VMware\VMware Tools>VMwareToolboxCmd.exe disk wipe c:\
请忽略擦除过程期间有关磁盘空间的任何警告。
进度:100 [===========>]
C:\Program Files\VMware\VMware Tools>VMwareToolboxCmd.exe disk shrink c:\
请忽略压缩过程期间有关磁盘空间的任何警告。
进度:100 [===========>]
磁盘缩小完成。
可以看到硬盘根目录下出现N个wiperX文件,但实际虚拟机外的硬盘占用空间没有增长
最终效果
原理
参见https://www.amobbs.com/thread-5641237-1-4.html?_dsign=df89fcda
一般压缩VM磁盘文件的方法:
– 在虚拟机里:
1、删除没用的文件。
2、dd if=/dev/zero of=file的方法,用内容为二进制0的文件(一个或多个文件)填充所有磁盘空间。
3、删除这个填充空间的文件。
– 关闭虚拟机,在虚拟机之外操作:
4、使用虚拟机的工具复制/压缩磁盘镜像。
原因:
- 虚拟机在操作磁盘镜像的时候,类似于只操作扇区,不考虑其上的文件系统的类型和内容;
- 磁盘镜像的存储类似于稀疏矩阵的存储,只有数据全0的时候空间才能被释放。
- 全0空间的释放需要外部工具操作,目前好像没有动态释放的。
更多推荐
已为社区贡献1条内容
所有评论(0)