VBoxHeadless(ウィンドウ非表示起動)

VirtualBoxは、仮想マシンを起動させるとコンソールが起動して仮想マシンの画面が表示されます。
しかし以下の様な場合はコンソール画面が不要になります。
 

  • VirtualBoxをあるマシンで動かしてリモートでその仮想マシンにアクセスする場合、必ずしもそのコンソール画面が必要ではない
  • LinuxやSolarisをホストOSとして使い、X Windowを立ち上げない環境でVirtualBoxのゲストマシンを立ち上げる

そういった時にVBoxHeadlessという機能を使い、コンソール画面を表示させないで起動させることができます。
これによりホストマシンのリソースを節約することができます。

VBoxHeadlessを使用した時にコンソール画面が必要になったときは、VRDPを使って画面を表示することができます。

VBoxHeadlessの起動方法

VBoxHeadlessで仮想マシンを起動するには3つの方法があります。

VBoxManageコマンドを使う方法

おなじみのVBoxManageコマンドに--typeオプションを付けて起動する方法です。

VBoxManage startvm "VM name" --type headless

VBoxHeadlessコマンドを使う方法

仮想マシンの実行が開始される前の、特に起動の初期段階での失敗した時には詳細なエラーメッセージを見ることができます。
VBoxHeadlessコマンドをVBoxManageコマンドで起動に失敗した時のトラブルシューティングに役立ちます。

VBoxHeadless --startvm <uuid|name>

通常使用時にはVBoxMangeコマンドでの起動が良いようです。

ちなみに、他のOSでは確認していませんが、Windowsの場合VBoxHeadlessコマンドで起動させるとプロンプトが帰ってきません。
「Ctrl + c」コマンドで強制的にプロンプトを戻そうとすると、仮想マシンは中断状態になってしまいます。

VirtualBoxマネージャーから起動する方法

実はVirtualBoxマネージャーからも「Shiftキー」を押しながら起動アイコンをクリックすることで、Headlessで起動させることができます。

通常起動とVBoxHeadlessで起動しときのリソースの変化

簡単ですが、仮想マシンを通常起動とHeadless起動させてホストOSのメモリの使われ方の変化を見てみました。
仮想マシンは起動後、十分な時間を置いて落ち着いたところで、タスクマネージャーでの消費メモリ量を見ています。

検証環境

ホストOS Windows7
ゲストOS Ubuntu13.10
メモリ 756MB

検証結果

通常起動 164,400KB
Headless起動 109,640KB

素の状態で何も動いていないUbuntuでしたが、なんとメモリが55MBも減る結果となりました。
複数の仮想マシンを同時に動かしている環境などは、かなりのメモリ削減効果があるのではないでしょうか。