VirtualBoxの仮想ディスクサイズ変更を完全マスター!縮小と拡張の手順を徹底解説
VirtualBoxで仮想ディスクを縮小・拡張する方法 – チュートリアル
更新日:2009年11月16日
これまでに、VirtualBoxのディスク管理に関するチュートリアルを2本お届けしてきました。ディスクのクローン作成方法や、仮想マシンへのディスク追加方法について学びました。今回は、ストレージ容量を圧迫しているディスクを「縮小」する方法と、空き容量が危険なレベルまで減ったディスクを「拡張」する方法をご紹介します。

ディスクの縮小
まずは縮小から始めましょう。例えば、40GBの仮想ディスクを作成し、事前に領域を確保(固定サイズ)したケースを考えてみます。仮想ストレージデバイスを作成する際、通常は「可変サイズ(dynamically expanding)」か「固定サイズ(fixed-size)」のどちらかを選択することになります。
固定サイズのディスクであれば、後から縮小することが可能です。一方、可変サイズのディスクの場合、縮小できる可能性は低くなります。それでは、ディスクサイズを変更する前に必要な作業を見ていきましょう。
縮小前に行うべき準備作業
1. デフラグメーション
これは非常に有効な作業です。断片化したデータを連続したブロックに再配置することで、ディスクのリサイズが可能になる場合があります。ただし、仮想マシンが使用しているファイルシステムによっては、デフラグが適用できないこともあります。
2. 不要ファイルの削除
これも効果的です。一時ファイルやインターネット一時ファイル、ゴミ箱の中身、インストールの残骸、未使用パッケージなどを整理しましょう。OSごとにアプローチは異なりますが、クリーンアップは確実に縮小率を高めます。
3. 縮小コマンドの実行
そして今回も、万能ツールであるVBoxManageユーティリティを使用します。
VBoxManage modifyhd disk.vdi compact
それぞれの要素を解説します。
- modifyhd:VBoxManageに対してディスクの変更を試みるよう指示します。
- disk.vdi:操作対象のディスクファイルです。重要:ディスクを変更する前に、仮想マシン内の重要なデータが安全にバックアップされていることを必ず確認してください。可能であれば、ディスクをクローンしてコピー上で縮小操作をテストし、問題がないことを確認してから本番環境に適用することをおすすめします。
- compact:ディスクの縮小を試みる機能です。ディスク内のデータ内容や配置状況によっては、成功しない場合もあります。例えば、仮想マシン内に6GBのTrueCryptコンテナがある場合、そのデータはカプセル化されたファイルシステムから見ると生のランダムデータとして認識されるため、この部分は圧縮できません。
もうひとつ知っておくべき点があります。
可変サイズのディスクはスパースファイルであり、空き領域は実際にはほぼスペースを消費しません。しかし、仮想ディスクを他のフォーマットへ変換すると、元のフルサイズに膨らんでしまうことがあります。例えば、Amazon EC2のチュートリアルで紹介したように、QEMUなどのツールを使ってRAW形式に変換すると、ディスクは本来の最大サイズまで成長してしまいます。
これは覚えておきましょう。たとえ仮想ディスクの実サイズが1MBしかなくても、論理サイズが100GBであれば、操作や変換を行う際にファイルはフルサイズで開かれることになります。以上が縮小の解説です。
ディスクの拡張
ディスクの拡張は、一見簡単そうで実は複雑な作業です。「簡単」なのは、手順さえ踏めば確実に成功する点です。縮小はある種の賭けのようなものですが、拡張は確実性があります。その反面、拡張は縮小のように魔法のように自動的には行われません。
ディスクを拡張するには、まずOSのイメージを作成する必要があります。多くの場合、稼働中のままではイメージ化できないため、CloneZillaのような外部サードパーティ製ソフトウェアをライブセッションで起動して行います。

次のステップは、より大きな新しいディスクを作成し、仮想マシンに追加することです。幸い、この方法は前回の記事で学びましたね。

3つ目のステップは、新しい大きなディスクにイメージを復元することです。最後に、新しいディスクを起動デバイスとして設定します。次に仮想マシンを起動すると、イメージングソフトウェアによって、イメージが新しいディスクに合わせて自動的に拡張されているか、または新しいディスクの末尾に余分な空き領域が残っているはずです。しかし、ちょっと待ってください!
重要:イメージを保存しておく場所が必要です!つまり、イメージのバックアップ先および復元元として、3台目のストレージデバイスが必要になります。少し複雑ですね。
手順のまとめ
仮想ディスクを正常に拡張するための手順をおさらいします。
- 元のディスクと同等以上のサイズで新しいディスクを作成する。
- 新しいディスクを仮想マシンに接続する。
- 仮想マシンを起動し、新しいディスクをパーティション分割・フォーマットする。
- お好みのイメージングソフトウェアを使用して、元のディスクのイメージを作成する。多くのイメージングソフトウェアはライブCDから動作しますが、システム稼働中にスナップショットを取得できるものもあります。基本的には、イメージングソフトウェアのライブCDまたはISOイメージから仮想マシンを起動することになります。
- イメージを作成し、一時用のディスクに保存する。
- 仮想マシンの電源を切る。
- 元のディスクより大きい3台目のディスクを仮想マシンに接続する(拡張が目的なので)。
- 再度ライブセッションを起動し、今度は一時ディスクから3台目の大きなディスクへイメージを復元する。なお、すべてのイメージングソフトウェアでは、復元先のOSがシャットダウンされている必要があるため、ライブセッションが必須です。デュアルブート構成でも対応できる場合がありますが、ここでは話を複雑にしないでおきましょう。
- イメージの復元が完了したら、仮想マシンの電源を切る。
- 一時用のストレージディスクを取り外す。
- 元の満杯のディスクと、イメージを復元した新しい大きなディスクの間でブート優先順位を変更し、新しいディスクが先に起動するように設定する。
- 仮想マシンを起動し、すべてが正常に動作することを確認する。問題がなければ、最初のディスクを取り外してもよいし、フォーマットしてデータ保管用に使うのも良いでしょう。
ご覧のとおり、ディスクの拡張は非常に深刻で複雑な作業です。パーティショニングに精通し、イメージングソフトウェアの扱いに本当に慣れていない限り、初心者の方が安易に挑戦すべきではありません。説明が十分に伝わっていると嬉しいのですが。
VirtualBoxのスナップショットに関する注意
VirtualBoxのスナップショットは、ディスクの縮小・拡張処理に干渉することがあります。これらの操作で問題が発生した場合は、スナップショットの削除を検討してください。繰り返しになりますが、設定をテストしている段階では、必ずクローンしたマシン上ですべての操作を行ってください。
まとめ
ディスクの縮小と拡張は、失敗するとデータ損失につながる可能性のある、リスクの高い複雑な作業です。この種の作業には知識と経験が必要であり、物理ディスクでも仮想ディスクでも、その難しさは変わりません。
最善の対策は、事前に計画を立てることです。セットアップをモジュール化し、スケーラブルに設計しておけば、日常運用を中断することなく、全体の一部を簡単に入れ替えることができます。例えば、システムとデータには常に別々のパーティションを使用し、場合によっては複数の(仮想)ディスクにまたがって配置しましょう。
また、システムパーティションの後に空き領域を残しておくと、イメージ化しなくてもGPartedのようなパーティショニングソフトで単純に領域を拡張できる可能性があります。同様に、ベンダーが推奨する最低要件よりも常に余裕を持たせて容量を割り当ててください。例えば、OSのインストールに4GB必要なら、8GB以上を割り当てましょう。今後どんな大型プログラムをインストールすることになるかは誰にもわかりません。そして、可変サイズのディスクを使用していれば、余分な空き領域があっても実際のディスク容量はほとんど消費されないのです。
このチュートリアルが役に立ったなら幸いです。他の記事とは異なり画像が少なめですが、記事が巨大化してしまうのを避けるために、紹介した内容を簡潔な図式にまとめることができませんでした。質問がある場合は、お気軽にお問い合わせください。
次回第4弾の記事では、VirtualBoxのネットワーキングと共有について解説します。
それでは。
-
【vSphere/ESXi】VMFSデータストアの容量を拡張する方法(GUI・コマンドライン両対応)
本記事では、vSphere Web Client(vSphere Client)のGUI操作、またはVMware ESXiのコマンドライン(SSH)を使用してVMFSデータストアの容量を拡張する方法について詳しく解説します。 VMFSデータストアの空き容量を確認したところ、あるデータストアの空き領域が不足していることに気づいたとします。このような場合、ストレージ領域を追加することでVMFSデータストアのサイズを増やしたいはずです。 前提条件:ストレージ側でLUNを拡張する まず最初に行うべきは、ストレージデバイス側でLUNのサイズを拡張することです。具体的な手順はストレージベンダーによって異な
-
VirtualBoxのVDIをVMwareのVMDKに変換する3つの方法【VBoxManage・QEMU対応】
VirtualBoxとVMware製品の両方を使っている仮想化ユーザーなら、仮想ディスクの形式変換はぜひ覚えておきたいテクニックです。変換が必要になる理由はさまざまで、ライセンスやマシンの状態を維持したい場合、互換性テストのために別のソフトウェアで動作させたい場合など、仮想化愛好家ならではのニーズが挙げられます。 本記事では、VirtualBoxが使用する「.vdi」形式からVMwareが使用する「.vmdk」形式へ(そしてその逆方向へ)、仮想ハードディスクを変換する確実な2つの方法と、状況次第で使える可能性のある第3の方法を紹介します。さらに、VHDやRAWなど、その他のフォーマットへの変換