(VMWare)HDDに空きが無くてもshrink成功

中身が少ないのに肥大化してしまったVMWareの仮想ディスクをスリムにする(shrink)するためには、その肥大化した仮想ディスクと同じサイズの空きがHDDに必要だということが、VMWareサイトのページに書いてある。
Shrinking requires free disk space on the host equal to the size of the virtual disk you are shrinking.

しかしながら、先日、割合的にほとんどHDDに空きが無い状態にもかかわらずshrinkに成功したので、諦めずに試してみる価値ありということで報告する。

環境とshrink前の状態は以下の通り。
VMWare: 5.5.3 build-34685 (日本語版)
Host OS: Windows XP Home Edition
Guest OS: Windows 2000 SP4
Virtual disk: 190GB (NTFS, splitted by 2GB, 200GB at max, 115GB used)
  (ホストOSで見ると「現在のサイズ190GB」、ゲストOSで見ると115GB使用中)
Host HDD: 232GB, NTFS, <8GB Free

手順はVMWareのページの通り。
1. ゲストOSでデフラグ
2, ゲストOS終了
3. ホストOSで「仮想マシン設定」画面を開き、「デバイス」のハードディスクを選択して「ディスクの最適化」実行
4, ゲストOS起動
5. コントロールパネルから「VMWare Tools」→「仮想ディスク圧縮」を開き、shrinkするパーティションにチェックを入れて「圧縮の準備」実行
6. 「圧縮しますか?」という感じのダイアログが出るので、OKする


実際に私が上記手順を開始した時、HDDの空きは400MBくらいしか無く、3.の実行中にHDDの空きが無くて一旦停止した旨のダイアログが表示されたが、HDDを7GBくらい空けて継続すると、正常に完了した。

VMWare Technology Networkの説明だと190GB空いてないとshrinkできないということになるが、実際には8GBも空いてないのに成功した。Virtual diskが2GB毎に分割される設定だった、実使用量が少なかったなど、shrink中に空き容量が増えそうな好条件だったのかも知れない。