2012/06/29

virtualbox how to shrink vdi 檔如何壓縮?

明明已經把系統空間空出來了,可是 vdi 檔卻是愈長愈大,之前也不是很在意,主要是這次是要給別人用的,檔案太大不方便傳輸。要把明明系統不大,但是 vdi 檔卻相對非常大的檔縮小是可能的,會發生這樣的事主要是我在機器裡面編譯整個 android, 事後雖然 make clean 仍然不會因此變小,甚至還有加檔的話,vdi 檔仍然繼續變大....

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 會是相同的,請用上面的命令來複製產生新的虛擬磁碟

0 意見: