VirtualBox: VDI を圧縮する

VirtualBox 上の Windows XP のディスク(VDI)が大きくなってきたため、
バックアップに時間がかかっている。圧縮できるみたいのなのでためす。

環境: "Windows XP" on "Ubuntu 8.10"
対象: ~/.VirtualBox/VDI/winxp.vdi

VirtualBox から Windows を起動し、次の手順で空き領域を整理した。

  • 0. %windir%\prefetch\* を削除
  • 1. (c:)ドライブのインデックス作成を解除
  • 2. %windir%\$* (Windows Update のアンインストール情報など)を削除
  • 3. ブラウザのキャッシュも全て消す。
  • 4. 使っていない不要なアプリケーションをアンインストールする
  • 5. システムの復元で、古い復元ポイントを消す
  • 6. システムの復元を無効にする
  • 7. スワップファイルを無効(サイズ 0 で設定)にする
  • 8. 一度再起動する
  • 9. デフラグをかける
  • 10. dkclear でディスク(c:)の空き領域をゼロクリアする
  • 11. Windows をシャットダウンする。

その後、VBoxManage で VDI ファイルを圧縮した。5 GB が 2.5GB くらいになった。

(VDI$) ls -l winxp.vdi
-rw------- 1 asesino asesino 5043712512 2009-03-28 16:14 winxp.vdi
(VDI$) VBoxManage modifyvdi winxp.vdi compact
VirtualBox Command Line Management Interface Version 2.0.4_OSE
(C) 2005-2008 Sun Microsystems, Inc.
All rights reserved.
	
Shrinking '/home/asesino/.VirtualBox/VDI/winxp.vdi':0%...........10%..........20%..........30%..........40%..........50%..........60%..........70%..........80%..........90%..........100%
(VDI$) ls -l winxp.vdi
-rw------- 1 asesino asesino 2501964288 2009-03-28 16:24 winxp.vdi