我的虛擬機使用的是Virtualbox掛在的之前Vmware創建的.vmdk文件,最近突然發現原來分配的100G磁盤容量已經不夠實用,實際虛擬機系統並未使用如此大的磁盤容量,具體原因是VMware虛擬機的虛擬磁盤的大小會隨着使用時間不斷變大,而且只贈不減。即使在虛擬系統中刪除了磁盤中的文件,虛擬磁盤的大小仍然不會變小。
克隆.vmdk文件為.vdi文件
F:\Devs\Oracle\VirtualBox\VBoxManage.exe clonehd source.vmdk cloned.vdi --format vdi
掛在文件到虛擬機
掛在過程會報錯: 錯誤:打開虛擬硬盤失敗,UUID already exists, 克隆的磁盤文件的uuid和之前的vmdk文件一致,所以修改一下uuid即可
F:\Devs\Oracle\VirtualBox\VBoxManage.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:\Devs\Oracle\VirtualBox\VBoxManage.exe modifyvdi cloned.vdi --compact
擴展磁盤容量
//擴展到120G
F:\Devs\Oracle\VirtualBox\VBoxManage.exe modifyhd cloned.vdi --resize 1228800
