VirtualBoxにおける仮想マシンの仮想ディスク容量を拡張するための手順

公開日:2014/01/15 更新日:2014/01/15
VirtualBoxにおける仮想マシンの仮想ディスク容量を拡張するための手順のサムネイル

VirtualBoxでは、仮想マシン作成時に仮想ディスク容量を決めますが、仮想マシンを使用していると仮想ディスクの容量が不足してくることがあると思います。ここでは、このような場合に仮想マシンの仮想ディスク容量を拡張して増やすための手順をメモします。

試した環境とやりたいこと

  • ホストOS : Mac OS X 10.9 (Marvericks)
  • ディスク容量を拡張したい仮想マシンOS : Linux Mint 16(仮想マシン名を「mintia」としています)
以上の環境で、仮想マシン「mintia」の現状の仮想ディスク容量8GBから、これを20GBまで拡張して増やします。手順としては、ホストOS側での作業と、仮想マシンのLiveCD側での作業が必要になります。

ホストOSでの作業

ホストOSであるMacでの作業では、VirutalBoxが用意しているコマンドラインツールである「VBoxManage」を使用します。そして仮想ディスクの拡張には、「modifyhd」というコマンドを使用します。このコマンドはターミナル上で以下のように使います。

VBoxManage modifyhd 拡張したい仮想マシンの仮想ディスクのパス —-resize 拡張後のディスク容量

拡張したい仮想マシンの仮想ディスクのパスが「/Users/ユーザ名/VirtualBox\ VMs/mintia/mintia.vdi」で、20GBに拡張したい場合は、以下のようになります。

VBoxManage modifyhd /Users/ユーザ名/VirtualBox\ VMs/mintia/mintia.vdi --resize 20480

なお、拡張後のディスク容量はMB単位での指定です。よって、1GBが1024MBなので、20GBの場合は20480MBです。

ちなみに、上記の「modifyhd」コマンドを実行して下記のようなエラーが出る場合があります。

Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

これは、仮想マシン作成時に仮想ディスクを可変サイズに指定しておらず、仮想ディスクが固定サイズであることが原因です。この場合は、仮想ディスクを可変サイズにする必要があります。可変サイズに変換するには、以下のコマンドを実行して変換して下さい。

VBoxManage clonehd --format VDI 元の仮想ディスク名 変換後の仮想ディスク名

変換したあと、「modifyhd」コマンドを実行すれば仮想ディスク容量を拡張できると思います。 ホストOS側の作業はこれだけで完了です。

仮想マシンでの作業

上記の手順によって、仮想マシンの仮想ディスク容量を拡張できますが、これだけでは仮想マシンは拡張された分のディスクを使用できません。ここでは、仮想マシンが拡張されたディスクを使用できるようにするための手順をメモします。

なお、仮想マシンでの作業とは言っていますが、仮想マシンを起動し仮想マシン上で行う作業はありません。仮想マシンにLiveCDをセットし、LiveCDから仮想マシンの仮想ディスクをいじります。

以降の作業の流れは、以下の通りです。

  • 仮想マシンをLiveCDから起動する
  • Gpartedで仮想マシンが使用するパーティションを拡張

仮想マシンをLiveCDから起動する

仮想マシンmintiaをLiveCDから起動するために、まず仮想マシンmintiaのドライブにLiveCDをセットします。ここでは、まぎわらしいですがLiveCDとしてLinux Mintを使用しました。

はじめに、以下のように仮想マシンmintiaが選択された状態で「設定」を開きます。

first_disp_mod.png

以下の画面が表示されるので、「ストレージ」タブに移動します。

setting_mint_mod.png

ストレージタブに移動したら、以下のように、「コントローラー:IDE」の下にある「空」となっている部分をクリックします。ここで、右側に「属性」の部分に「CD/DVDドライブ(D):」とあり、その横の赤線枠で囲んだ部分のようにCDのマークがあるので、これをクリックします。

set_disk_mod.png

CDマークをクリックすると、isoイメージファイルを選択できるので、好きなisoイメージを選択します。ここで選択したisoイメージをLiveCDとして使用することになります。私はLinux mintのisoイメージを選択しました。リストになかった場合は「仮想CD/DVDディスクファイルの選択...」から選択できます。なお、LiveCDとして起動するOSはubuntuやCentOSなどGpartedというソフトウェアが使えるものならば何でもOKです。もちろん、Gparted自体のisoイメージをセットしてもOKです。

set_mint_iso_mod.png

あとは、以下のように「Live CD/DVD」にチェックを入れます。

after_set_mod.png

以上でLiveCDのセットは完了ですが、最後に「システム」タブに移り、以下のように「起動順序(B):」の中の「CD/DVD」にチェックが入っていること、「CD/DVD」が一番上になっていることを確認して、右下の「OK」をクリックして下さい。これで仮想マシンをLiveCDで起動する準備ができました。

boot_order_mod.png

Gpartedで仮想マシンが使用するパーティションを拡張

上記の手順の後、通常どおり仮想マシンmintiaを起動すると、仮想マシンがLiveCDから起動します。 起動したら、Gpartedを起動して下さい。Linux Mintの場合は、以下のように「Menu」の「Administration」の中に「Gparted」があるので、これをクリックして起動します。

menu_gparted-_mod.png

起動すると、以下のようにパーティションの内訳が表示されます。見て分かるとおり、画面右上の「/dev/sda/」は20.00GBとなっているものの、「unallocated」が12GB分あることが分かります。この「unlocated」の部分を仮想マシンmintiaの「/dev/sda1/」の拡張部分として割り当てます。

gparted_disp_mod.png

ただ、「/dev/sda1」と「unallocated」の間に「linux_swap」というパーティションがあり、このままでは「dev/sda1」を拡張できないので、一旦「linux_swap」を削除します。後でこのパーティションは復活させるので、同じ環境にしたい方は「linux_swap」のサイズをメモしておいて下さい。 パーティションを削除するには以下の赤線部分のように「linux_swap」が選択された状態で、赤線枠内のツールバーの×印をクリックします。

swap_delete_mod.png

もし、×印が赤色になっておらずクリックできない場合は、「linux_swap」が現在使われていることが原因なので、「linux_swap」の上で以下のように右クリックし、「swap_off」をクリックして下さい。これで削除できるようになるはずです。

swap_off_mod.png

「linux_swap」を削除しても、以下のように水色で囲まれた「extended」が残っているので、同様の手順で削除します。

extended_delete_mod.png

この段階で、以下のようになります。見て分かる通り、「/dev/sda1/」以外は「unallocated」になっています。

anllocated_mod.png

ここから「/dev/sda1」の容量を拡張していきます。まず「/dev/sda1」を選択して右クリックすると、以下のように「Resize/Move」があるので、これをクリックします。

right_resize_move_mod.png

すると、以下の画面が表示されるので、ここで、赤線枠の矢印を右に動かすか、「Free space following (MiB)」に数値を入れて、「/dev/sda1」を好きなだけ拡張します。「Free space following (MiB)」に入力する値が0であると、それは「unallocated」の全てを「/dev/sda1」に割り当てることになりますが、後で「linux_swap」用のパーティションを復活させるので、「Free space following (MiB)」の値を0にはせず、「linux_swap」分の容量を残しておいて下さい。

resize_disp_mod.png

今回は以下のように「linux_swap」用に2048MB分残し、それ以外は全て「/dev/sda1」に割り当てます。サイズを決めたら、右下の「Resize/Move」をクリックします。

decide_size_mod.png

すると以下のように警告が出ますが、「OK」をクリックして下さい。

alert.png

これで「/dev/sda1」の拡張が出来たので、後は元々あった「linux_swap」を復活させます。以下のように残っている灰色の部分を選択して右クリックし、「New」をクリックします。

right_new_mod.png

すると以下の画面が表示されます。

forswap_disp.png

ここで以下のように、「Create as:」を「Extended Partition」にして、「Add」をクリックします。

extended_part_mod.png

以下のように「unallocated」がまた出来るので、これを右クリックして、「New」をクリックします。

swap_unallocated_mod.png

今度はこのパーティションの「File system:」を「linux-swap」にして「Add」をクリックします。

decide_swap_mod.png

すると以下のようになります。一番後ろに1MB分の「unallocated」が出来ますが、気にしなくて大丈夫です。後は以下の赤線枠内のエンターキーのようなボタンを押して、パーティションの変更を実行します。

last_disp_mod.png

以下のメッセージでますが、「Apply」をクリックします。

areyousure.png

パーティションの変更が完了すると以下のように「All operations successfully completed」と出るので、「Close」をクリックして完了です。

completed.png

後は、仮想マシンmintiaをシャットダウンし、以下のように「仮想ドライブからディスクを除去」して、LiveCDから起動しないようにします。以上で作業は完了です。

remove_livecd_mod_pixcel.jpg

仮想マシンが無事に起動できれば完了です。

参考資料

以下のサイト様を参考にさせて頂きました。大変役に立ちました。ありがとうございました。 ・VirtualBoxの仮想ディスクを固定サイズから可変サイズへ変換。コマンドでディスク容量を拡張する方法 | Time to live forever VirtualBox: 仮想ディスクのサイズを拡張する (VDI) | Natz's Digital 漂流記

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。