virtualboxのvdiファイルを小さくする

GUEST OS上でファイルを書き込み一度大きくなったvdiファイルはGUEST OS上でファイルを削除しても小さくはならない。
また、このままだと空き領域部分を0で潰したわけではないので、バックアップ時にvdiを圧縮して保存しようとしても小さくならない。

以下の方法でvdiファイルを小さくする。

まずGUEST OS上でディスクを0埋めする。linuxなら以下を実行。

dd if=/dev/zero of=too_big_file bs=128M
rm too_big_file

ディスクの空きサイズ等によるが、10Gbyteで10分ぐらい。

次にGUEST OSをpoweroffし、HOST OS上で以下を実行。容量によるが、10Gbyteで10分ぐらい?
(2018/08/01)いつの間にかオプションが変更になっていたため更新。

  (windowsの場合) "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifymedium disk hogehoge.vdi --compact
  (linuxの場合) VBoxManage modifymedium disk hogehoge.vdi --compact
  //古いオプション (windowsの場合) "C:\Program Files\Oracle\VirtualBox\VBoxManage.exe" modifyhd hogehoge.vdi --compact
  //古いオプション (linuxの場合) VBoxManage modifyhd hogehoge.vdi --compact

これで小さくなったはず。

GUIでできればいいのに…

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク