2009-09-21-1
VMware の仮想ディスク (.vmdx) は仮想マシンで使用した容量分のサイズに徐々に大きくなっていくのですが、逆に仮想マシンでファイルを削除してもサイズは小さくなりません。
放っておくと vmdx ファイルが肥大化してくるので、たまに shrink してやります。
shrink すると、使用していない容量分を解放し vmdx ファイルを小さくできます。
shrink は仮想マシンの vmware-toolbox から行います (ゲストが Linux の場合)。
# sudo vmware-toolbox
[Shrink] タブを開き、shrink するパーティションを選択し、[Shrink] ボタンをクリックします。
"Shrink Disk" ダイアログが表示されるので、[Yes] をクリックします。
ここで、ホスト側に shrink 後の vmdx ファイルのサイズ分の空き容量がないと、先に進めないようです。
今回は空き容量がなかったので、いったん仮想マシンを終了し、肥大化した vmdx ファイルを空き容量のある HDD に移動して、再度仮想マシンを起動、shrink することにしました。
しかし、ここで問題発生。
vmdx ファイルを Windows エクスプローラでコピー中に CRC エラーが出てコピーが途中で異常終了していまいます。
コピーでは CRC エラーが出るものの仮想マシンは起動できるので、別の方法を取ることにしました。
仮想マシンを partimage のレスキュー CD ISO から起動し、vmdx の中身を空き容量のある HDD に置いた別の vmdx ファイルにバックアップすることにしました。
まず、partimage のレスキュー CD ISO はホストでダウンロードし、適当な場所に置きます。
次に、ホストで vmx ファイルを編集し、CD ISO からブートするようにします。
ide1:0 の記述を下記のように変更します。ide1:0.present = "
[長いので以降省略しました]