VirtualBox上のWindows XP用仮想ディスクを拡張する


 普段、自宅では Mac を使うことも多いが、仕事ではほとんど Gentoo Linux を使っている。とはいえ、仕事ではどうしても Office ドキュメントを扱うこともあり、LibreOffice ではレイアウトが崩れることが多いこともあって Windows XP + Office 2010 を使っている。

 Windows は自前でビルドした VirtualBox 上で起動していたが、当初割り振った仮想ディスクの容量では足りない事態になったため、仮想ディスクの容量を増やしてみた。

 正直な話、仮想ディスクの容量の増減については KVM や Xen でよくやるパターンのように

  1. 新しい容量を持つ仮想ディスクを作る。
  2. ホストまたはゲストにマウントし、dd なりでコピーする。
  3. 新しい仮想ディスクのパーティションを拡張する。

といった感じでサクッとできる。ただ、今回は vdi をマウントする方法が分からなかったので、VBoxManage コマンドで既存の仮想ディスクを拡張する手順にした。まずは作業の前に、仮想マシンをシャットダウンとして仮想ディスクのバックアップを取っておく。

 準備ができたら VBoxManage コマンドで仮想ディスクの容量を拡張する。このときに仮想ディスクが可変容量でないと正しく作業できないらしい。

$ VBoxManage modifyhd WindowsXP.vdi --resize 81920
0%...10%...20%...30%...40%...50%...60%...70%...80%...90%...100%

 「a hard disk '/path/to/WindowsXP.vdi' with UUID {***} already exists」といったエラーになった場合は、パスの代わりに UUID を指定してやれば大体は拡張できる。

 拡張完了後に仮想マシンを起動し、仮想ディスクを拡張する。起動ディスクでなければ標準のツールで拡張できるが、今回は起動ディスクだったので EaseUS Partition Master Home Edition (2018 年 8 月時点では EaseUS Partition Master Free) を使った。EaseUS Partition Master を起動すると以下のような画面になる。

EaseUS Partition Master
EaseUS Partition Master

 右下にパーティション設定画面があるので、ドラッグ&ドロップでパーティション で Unallocated の領域を狭め、Apply を押す。

パーティションを拡張
パーティションを拡張

 「Finish」が表示されたら一旦 Windows を再起動し、[コントロールパネル]→[管理ツール]→[コンピュータの管理]→[ディスクの管理]でパーティションが正しく拡張された状態で認識されていることを確認する。

 当初はここまで Windows を使うとは思っていなかったものの、仮想環境だったので割と楽に拡張可能だったのはいいポイントだと思う。