Virtualbox 虚拟机压缩.vmdk文件


我的虚拟机使用的是Virtualbox挂在的之前Vmware创建的.vmdk文件,最近突然发现原来分配的100G磁盘容量已经不够实用,实际虚拟机系统并未使用如此大的磁盘容量,具体原因是VMware虚拟机的虚拟磁盘的大小会随着使用时间不断变大,而且只赠不减。即使在虚拟系统中删除了磁盘中的文件,虚拟磁盘的大小仍然不会变小。

克隆.vmdk文件为.vdi文件

F:DevsOracleVirtualBoxVBoxManage.exe clonehd source.vmdk cloned.vdi --format vdi

挂在文件到虚拟机

挂在过程会报错: 错误:打开虚拟硬盘失败,UUID already exists, 克隆的磁盘文件的uuid和之前的vmdk文件一致,所以修改一下uuid即可

F:DevsOracleVirtualBoxVBoxManage.exe internalcommands sethduuid cloned.vdi 131b2a66-a477-41dd-b920-1a0a460d3ec8

之后就可以正常挂载了

磁盘瘦身

1.在虚拟机上执行命令

sudo dd if=/dev/zero of=zero.fill
sudo rm -f zero.fill
poweroff

2.在宿主机上执行命令

F:DevsOracleVirtualBoxVBoxManage.exe modifyvdi cloned.vdi --compact
压缩效果如图,将原来92G左右的`.vmdk`文件压缩到60G左右

扩展磁盘容量

//扩展到120G
F:DevsOracleVirtualBoxVBoxManage.exe modifyhd cloned.vdi --resize 1228800

参考

  1. Virtualbox最全扩展虚拟磁盘空间大小(vdi/vmdk)方法(Mac/Linux/Windows)
  2. 虚拟机硬盘vmdk压缩瘦身并挂载到VirtualBox
  3. VirtualBox压缩VDI文件 VDI文件瘦身方法
原文地址:https://www.cnblogs.com/flyinggod/p/14215586.html