1. guest 系統裡面請安裝 zerofree, 它不大,作用就是把已經刪除的 inode 資料清空,不然的話檔案系統會繼續往後長
2. 該 guest 系統用個開機光碟開機,當然我是用 iso 檔,一樣的
3. 光碟開機後進試用模式,掛載時請使用唯讀:
mount /dev/sda1 /mnt -o ro
4. /mnt/usr/sbin/zerofree /dev/sda1
之後將 gesut os 關機,並回到 host 系統
5. 參考這篇, VboxManage modifyvdi /path/to/your/VM.vdi compact
6. VboxManage clonehd
/path/to/your/VM.vdi name-of-clone-vm.vdi
到此已經把 vdi 縮小。
順便講一下,要複製 vdi 請勿直接用 copy, 因為那樣的話虛擬磁碟的 UUID 會是相同的,請用上面的命令來複製產生新的虛擬磁碟