ログ日記

作業ログと日記とメモ

VMWare上のWindowsパーティションを拡張する手順

Debian上のVMWareWindowsXPを使っている。
パーティション構成は

HDD1
  C: 8GB
  D: 12GB

このようになっていた。
最初にインストールするときは少ないサイズで作成することが多いが、大抵後から拡張したくなる。


本格的に使い出すと 8GB や 12GB じゃ足りない。

HDD1
  C: 20GB
HDD2
  D: 40GB

このように変更する。


Windows付属の diskpart.exe を使った。
http://www.atmarkit.co.jp/fwin2k/win2ktips/577diskext/diskext.html
記事にも書いてある通り、システムドライブのCドライブは拡張できない。これを何とかする。

  1. まずはVMWareで40GBのHDDを追加する。それからWindowsを立ち上げてNTFSでフォーマットする。
  2. Windowsを終了して、設定画面からmountをして、HDD1のD: を HDD2 に cp -a などで丸ごとコピー。System Volume Informationディレクトリだけは外した。
  3. Windowsを立ち上げて新しいドライブのラベルをDに設定する。これでDドライブの移動は完了。動作確認ができたら古いHDD1のDとして使っていたパーティションを削除する。
  4. tmpディレクトリを作ってVMWareのHDD1のディスクイメージ全てコピーする。vmdkファイルに書かれているファイルも丸ごとコピー。parentFileNameHintの行があるなら、パスを調整する。
  5. VMWare設定で既存のHDD追加を選択し、今コピーしたイメージを追加する。これでWindowsシステムドライブのクローンが別のドライブとしてWindowsから見える。
  6. Windowsを立ち上げて、システムドライブのクローンのパーティションをdiskpart.exeで拡張する。
  7. Windowsを終了し、VMWareのHDD1のディスクイメージを適当なディレクトリに退避してから mv tmp/* . して拡張したパーティションをシステムドライブとして利用するようにする。

無事に立ち上がれば成功。