我的虚拟机使用的是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
扩展磁盘容量
//扩展到120G
F:DevsOracleVirtualBoxVBoxManage.exe modifyhd cloned.vdi --resize 1228800