LoginSignup
17
16

More than 5 years have passed since last update.

virtualboxの仮想ディスクをデフラグする

Last updated at Posted at 2014-05-22

guest側はdebianを想定

2017-11-28 zerofreeより簡単な方法があったので追記

空いてるスペースに0を書く

dd if=/dev/zero of=/tmp/bigemptyfile bs=4096k
rm /tmp/bigemptyfile

compaction

$ VBoxManage modifyhd /path/to/disk.vdi --compact

formatがvmdk等compact対応していないものの場合は、clonehdすればよい

古い方法

0. バックアップ

なくなったら困るファイルをバックアップしておく。
以下の作業は自己責任で

1. guest側でzerofreeをインストール

$ sudo apt-get install zerofree

2. guest側でzerofreeを実行

ファイルシステムをread onlyにしないと実行できないので、一旦reboot〜セーフモードで起動してremountしてから実行する

# mount -n -o remount,ro -t ext3 /dev/sda1 /
# zerofree /dev/sda1

/dev/sda1の部分は環境に応じて適宜変更。

busyと言われる場合は、rsyslogdとかdhclientが起動してる可能性がある。手動でkillすればよい。

zerofreeは結構時間かかるのでしばらく待つ。
終わったら一旦シャットダウンする。

3. host側でVBoxManageを実行

$ VBoxManage modifyhd /path/to/disk.vdi --compact

手元の環境では21Gのvdiが14Gになった。まあまあ効果ある。

17
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
16