1 頁 (共 1 頁)

Change VDI Size

發表於 : 2013-08-27 15:34:19
yehlu
http://fcamel-life.blogspot.tw/2012/01/ ... esize.html

2012年1月16日星期一
VirtualBox 改變 vdi 的大小
花了一整個晚上的血淚談。

注意事項

目前 (4.x) 只支援在沒有 snapshots 的情況下改變 vdi 大小
若目前有用 snapshot, VBoxManage 也不會阻止你改變大小, 只是改完就沒救了, 會無法刪掉最早的 snapshot, 推測是因為硬碟上的 vdi 檔案資訊和 snapshot 內的 vdi 不合。可以刪除中間的 snapshot, 因為那沒有涉及硬碟上的 vdi 檔
擴大 vdi

關掉 guest OS
砍掉所有 snapshot, 只剩 current state: 在命令列下使用 VBoxManage modifyhd --resize NUM_MB /path/to/vdi
用 Ubuntu CD 開機 (現在已沒有 "live CD" 的名稱了, Ubuntu 安裝光碟本身就可當 "live CD"), 使用 gparted 調整硬碟大小
重開 guest OS, 可用 df -h 確認實際大小確實有改變 (或用 sudo fdisk -l /dev/sda 看 partition 資訊)。
若不幸在砍 snapshot 前先用 VBoxManage 改了大小, 就無解了。目前只有看到一位仁兄用 Mac 的 Time Machine 還原到他做蠢事前的狀態, 解決這個砍不掉的問題 ... 。

我用另一台電腦的 VirtualBox 實驗以上步驟沒有問題, 確認問題出在我先改了 vdi 大小。
縮小 vdi

我沒試過這個, 順便筆記一下

VBoxManage --resize 只支援擴大, 要縮小的話要換指令
先在 guest OS 針對要縮小的 partitoin, 用對應的工具重整 partition (zerofree on Linux)
使用指令 VboxManage modifyhd --compact /path/to/vdi
參考資料

下次用這類 VM 的指令, 一定要熟讀手冊再下手啊 ...

《VBoxManage modifyhd》
《Trivial Proof: Resizing a VirtualBox Virtual Hard Disk》
《virtualbox.org: Can't delete top snapshot or expand HD size in VB 4.0.12》