QEMUのパーティションサイズの拡張
KVMで使用しているWindows用のパーティションサイズを拡張できたのでメモ。
イメージファイルはあらかじめRAWで作成していること。
あと、Knoppixを用意しておく。
最初にddで拡張するサイズ分の一時ファイルを作成する
例えば5G増やすとすると以下のようになる
$ dd if=/dev/zero of=tmp.img seek=10485760
ちなみにseekに10485760をセットしているのは、seek*512バイトで計算するから。
5*1024*1024*1024/512=10485760
そしてcatでイメージファイルを繋げる
$ cat winxp_pro.img.org tmp.img > winxp_pro.img
この時点では既存パーティションには影響が無くからの領域が追加されるだけとなる。
Windowsを起動するとCドライブと空の領域が見えて、この空領域を新規パーティションとして作成が可能な状態となる。
これではまずいのでQTPartedで既存パーティションをリサイズする。
KnoppixにはQTPartedがデフォルトでインストールされているので、以降の操作はKnoppixから行う。
hdaにWindowsのイメージファイルを指定して、KVM+Knoppixで起動する。
$ sudo kvm -m 512 -cdrom "knoppix_v5.1.1DVD_20070104-20070122+IPAFont_AC20070123.iso" -hda winxp_pro.img -boot d -usb -localtime
まずQTPartedで既存パーティションをリサイズする。
リサイズが済んだら、ntfsresizeでNTFSのリサイズを行う。
# ntfsresize -s 15G /dev/hda1
15Gなのは元々が10Gで追加分が5Gだから。
後はWindowsをKVMから起動するだけ。
ちなみに自分の環境では、Windows起動時にファイルシステムのチェックが入り、Windowsが起動すると再起動が必要だった。