Twitterに書くには長すぎたんだけどどっかにまともに書くほどでもないチラシの裏だったのでこっちに書く。
MacBook(Early 2008)にVirtualBoxを導入してWindows Server 2003を走らせてて、そいつの仮想HDを最初ケチって10GBに設定したんだけれどもやっぱり厳しくなってきたので50GBに拡大した。思ったより面倒だったから備忘録代わりに書いておこうと思った次第。
Host側の環境には特に依存しないはず……。ちなみにGuest側が家庭用Windowsだった時は場合は後の作業が楽。
とりあえず今回はggって出てきたサイトさん( http://risin.jp/archives/214 )を見ながらやってみた。
まずは仮想HD自体の拡大。
VirtualBox側で50GBの可変仮想HDファイルを作成。それからターミナルを立ち上げて、
$/Applications/VirtualBox.app/Contents/MacOS/vBoxManage clonehd (もともとの仮想HDファイル) (新しい仮想HDファイル) -existing
これでしばらく待つ。これで、新しい仮想HDの中にもともとの仮想HDの中身がまるまるコピーされたことになる。
でもこれはあくまで仮想HDの容量が大きくなっただけで、その中にあるパーティションのサイズは変わってないからこの先がちょっと面倒。
実はWinXPとかだとこのステップはとっても簡単。VirtualBoxで、仮想マシンのディスクの割り当てを新しい仮想HDに割り当ててから、EASEUS Partition Managerの無料版( http://www.partition-tool.com/download.htm )を使えばおしまい。
ところがWindows ServerだとPartition Managerが使えないから、他の手段を考える羽目に。
頑張ればいろんな方法はあるんだろうけど、一番面倒じゃなさそうなのがOS標準のコマンドdiskpart.exeの使用。説明は@ITあたり( http://www.atmarkit.co.jp/fwin2k/win2ktips/577diskext/diskext.html )を参照。
ただしこれまた面倒なことに、diskpartは起動ディスクに対しては使用できないから、拡大前の仮想HDDを使うことにした。
diskpart.exe
」と入力して呼び出す。
>list volume
すると、同じようなPartitionが二つ表示されるはず(片方には「システム」って書いてある)だから、システムじゃない方に対して、
>select volume (該当ボリュームの番号)
の操作を行ってから、
>extend
を実行する。
今回はいちいちclonehdしたけど、単に仮想HDの(物理的な)サイズを大きくするだけなら、vBoxManageで
$/Applications/VirtualBox.app/Contents/MacOS/vBoxManage modifyhd (もともとの仮想HDファイル) --resize 50000
って実行するだけで50GBにリサイズされるっていうね。XPとかならあとはこれをPartitioin Managerでパーティション拡大しておしまい。
ただ、Serverのときは上で書いたみたいに別の起動ディスクで起動して〜って過程が必要だから、まあcloneしといてよかったっていう結果オーライw