VirtualBox の仮想ディスクサイズを小さくする

可変サイズのストレージで構築していることを前提として。

基本的に増加し続ける仮想ディスクサイズの未使用領域を削除し、ファイルサイズ自身を小さくするための手順。結論としては、空き容量をゼロクリアしてからディスク圧縮を行えばよい。

まず、ゲスト側の対応。Windows がゲストの場合は sdelete ツールを使う。MS 公式ツールらしい。

http://technet.microsoft.com/ja-jp/sysinternals/bb897443%28en-us%29.aspx

ダウンロードして解凍後、環境変数のパスが通っている場所に配置。

コマンドプロンプトを起動し、以下の通り実行。自分の環境では何故かプロンプトのドライブレターがゼロクリアの対象となったので、実行前にドライブレターを変更した。謎。

% sdelete -z [ドライブレター]

ゲストが Linux の場合、標準の dd コマンドを実行する。

$ dd if=/dev/zero of=zero bs=4k; \rm zero

ホスト側で仮想ディスクの UUID を調べる。今回実行したホスト環境は OS X Lion。

$ VBoxManage list hdds

複数の UUID が表示されたが、どうやら1つ目のが正しいらしい。続けて以下のコマンドを実行する。

$ VBoxManage modifyhd [UUID] compact

コマンドが正常終了した後、仮想ディスクのサイズが小さくなっていればOK。

yktmnb について

IT土方兼社畜を生業としています。 入社以来 Java を用いた社内向け Web アプリの開発に携わっていました。 最近は IaaS 関連の仕事をしています。 個人的に Android アプリ開発をしたり、ゆるべんという勉強会 (http://wooven.org/) をのんびりとやってます。
カテゴリー: VirtualBox パーマリンク