【Linux】釋放 VirtualBox 虛擬機未使用的磁碟空間 縮小 vdi 影像檔

參考資料 ----
Compacting VirtualBox Disk Images - Linux Guests


注意:
據說此動作有風險,所以在執行前,請先將虛擬機停機,並做影像檔備份。並且將欲縮小的磁區 umount。


以 "動態大小" 建立的 VirtualBox 虛擬機影像檔,當您塞了很多檔案進去後,影像檔就會變大,但當您刪除檔案後,影像檔並不會跟著變小,需要額外的動作才能使其縮小。



指令語法

dd  if=/dev/zero  of=輸出檔名  bs=1M

例如:

[root]# cd  /
[root]# dd  if=/dev/zero  of=zerofile  bs=1M


執行完畢時,會出現下述訊息。

dd: writing 'zerofile': No space left on device


檢查根目錄下是否有生成 zerofile。若有生成 zerofile,以 ls -lh 指令 觀察,會看到 zerofile 相當大。

刪除 zerofile

[root]# rm  -f  zerofile

再以 VBoxManage 縮小影像檔


[root]# VBoxManage modifyhd  虛擬機檔名.vdi  --compact