VirtualBox · 3 min read · Dec 26, 2025

VBoxHeadless - ヘッドレス CentOS 6.2 サーバーでの VirtualBox 4.1 による仮想マシンの実行

VBoxHeadless - ヘッドレス CentOS 6.2 サーバーでの VirtualBox 4.1 による仮想マシンの実行

Version 1.0
Author: Falko Timme
Follow me on Twitter

このガイドでは、ヘッドレス CentOS 6.2 サーバーで VirtualBox 4.1 を使用して仮想マシンを実行する方法を説明します。通常、仮想マシンを管理するために VirtualBox GUI を使用しますが、サーバーにはデスクトップ環境がありません。幸いなことに、VirtualBox には VBoxHeadless というツールが付属しており、リモートデスクトップ接続を介して仮想マシンに接続できるため、VirtualBox GUI は必要ありません。

私はこれがあなたにとって機能するという保証はしません!

1 予備ノート

私は、IP アドレス 192.168.0.100 の CentOS 6.2 サーバー(ホストシステム)でこれをテストしました。ここでは、root ではなく通常のユーザー(この例ではユーザー名 admin)としてログインしています。

もし root アカウントしか持っていないが、通常のユーザーアカウントがない場合は、次のように作成します(ユーザー admin、グループ admin)…

… 新しいユーザーのパスワードを作成します…

# passwd admin

… そして、そのユーザーとしてログインします。

2 VirtualBox のインストール

CentOS 6.2 サーバーに VirtualBox 4.1 をインストールするには、root 権限が必要です。したがって、次のように実行します。

$ su

次に、次のようにして VirtualBox 4.1 の依存関係をインストールします。

# yum groupinstall 'Development Tools'
# yum install SDL kernel-devel kernel-headers dkms

最後のコマンドで、現在使用しているカーネルのカーネルヘッダーをインストールしました。ヘッダーは /usr/src/kernels/ ディレクトリにありますが、そのディレクトリは - という名前ではなく、異なる名前になっている可能性があるため、後で Virtualbox カーネルモジュールをビルドできないことがあります。期待されるカーネルヘッダーのディレクトリが見つからないためです。これを今修正します。

カーネルバージョンを確認します…

# uname -r

[root@server1 ~]# uname -r
2.6.32-220.el6.x86_64
[root@server1 ~]#

これは、/usr/src/kernels/ ディレクトリに 2.6.32-220.el6.x86_64 という名前のディレクトリがあるべきことを意味します。これを今確認できます。

[root@server1 kernels]# ls -l
total 4
drwxr-xr-x 22 root root 4096 Jun 25 17:30 2.6.32-220.23.1.el6.x86_64
[root@server1 kernels]#

ご覧の通り、私は 2.6.32-220.23.1.el6.x86_64 というディレクトリを持っていますが、2.6.32-220.el6.x86_64 は持っていません。したがって、2.6.18-238.el5-x86_64 という名前のシンボリックリンクを作成し、2.6.18-238.9.1.el5-x86_64 を指すようにします。

# ln -s 2.6.32-220.23.1.el6.x86_64 `uname -r`

次に、VirtualBox の公開 rpm キーをダウンロードして登録します。

今、私たちのシステムで VirtualBox CentOS リポジトリを有効にします。

これで、次のようにして VirtualBox 4.1 を簡単にインストールできます。

# yum install VirtualBox-4.1

インストールが成功すると、出力は次のように終了するはずです。

[…]
Running Transaction
Installing : VirtualBox-4.1-4.1.18_78361_rhel6-1.x86_64

Creating group ‘vboxusers’. VM ユーザーはそのグループのメンバーでなければなりません!

このカーネル用の事前コンパイル済みモジュールが見つかりません – ビルドしようとしています。モジュールコンパイル中に発生したメッセージは /var/log/vbox-install.log に記録されます。

Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMS [ OK ]
Starting VirtualBox kernel modules [ OK ]

Installed:
VirtualBox-4.1.x86_64 0:4.1.18_78361_rhel6-1

Complete!
[root@server1 kernels]#

(インストールが失敗した場合、正しいカーネルヘッダーのディレクトリが見つからないため、出力は次のように終了します。

[…]
Running Transaction
Installing : VirtualBox-4.1-4.1.18_78361_rhel6-1.x86_64

Creating group ‘vboxusers’. VM ユーザーはそのグループのメンバーでなければなりません!

このカーネル用の事前コンパイル済みモジュールが見つかりません – ビルドしようとしています。モジュールコンパイル中に発生したメッセージは /var/log/vbox-install.log に記録されます。

Stopping VirtualBox kernel modules [ OK ]
Uninstalling old VirtualBox DKMS kernel modules [ OK ]
Trying to register the VirtualBox kernel modules using DKMS
Error! あなたのカーネルソースはカーネル 2.6.32-220.el6.x86_64 に対して /lib/modules/2.6.32-220.el6.x86_64/build または /lib/modules/2.6.32-220.el6.x86_64/source に見つかりません。
[FAILED]
(失敗、DKMS なしで試行中)
Recompiling VirtualBox kernel modules [FAILED]
(/var/log/vbox-install.log を見て、何が間違っていたかを確認してください)

Installed:
VirtualBox-4.1.x86_64 0:4.1.18_78361_rhel6-1

Complete!
[root@server1 kernels]#

この場合、正しいカーネルシンボリックリンクを作成し(前述のように)、次に実行します。

# /etc/init.d/vboxdrv setup

VirtualBox カーネルモジュールを作成します。)

今、VirtualBox を実行するユーザー(この例では admin)を vboxusers グループに追加する必要があります。

# /usr/sbin/usermod -G vboxusers admin

VirtualBox は今インストールされ、使用する準備が整いました。

バージョン 4.0 以降、VirtualBox は「拡張パック」と呼ばれるものを導入し、リモートデスクトップ接続サポート(VRDP)などの機能を、バージョン 4.0 以前の VirtualBox パッケージからこれらの拡張パックに移行しました。仮想マシンを制御するためにリモートデスクトップ接続が必要なので、適切な拡張パックを今インストールする必要があります。http://www.virtualbox.org/wiki/Downloads に移動すると、次の拡張パックへのリンクが見つかります。

VirtualBox 4.1.18 Oracle VM VirtualBox Extension Pack
USB 2.0 デバイス、VirtualBox RDP、および Intel カード用の PXE ブートのサポート。

次のように拡張パックをダウンロードしてインストールします。

(必ず VirtualBox ウェブサイトから最新バージョンを取得してください。)

# exit

と入力して、root アカウントを離れ、再び通常のユーザー(admin)になります。

3 コマンドラインでの VirtualBox の使用

3.1 VM の作成

コマンドラインで VM を作成するには、VBoxManage コマンドを使用できます。次のように見てください。

$ VBoxManage --help

利用可能なスイッチのリストが表示されます(強く推奨!)http://www.virtualbox.org/manual/ch08.html を見てください。

私は今、1024MB のメモリと 10GB のハードドライブを持つ Ubuntu 12.04 Server VM を、/home/ubuntu-12.04-server-amd64.iso に保存した Ubuntu 12.04 Server iso イメージから作成します。

$ VBoxManage createvm –name “Ubuntu 12.04 Server” –register
$ VBoxManage modifyvm “Ubuntu 12.04 Server” –memory 1024 –acpi on –boot1 dvd –nic1 bridged –bridgeadapter1 eth0
$ VBoxManage createhd –filename Ubuntu_12_04_Server.vdi –size 10000
$ VBoxManage storagectl “Ubuntu 12.04 Server” –name “IDE Controller” –add ide
$ VBoxManage storageattach “Ubuntu 12.04 Server” –storagectl “IDE Controller” –port 0 –device 0 –type hdd –medium Ubuntu_12_04_Server.vdi
$ VBoxManage storageattach “Ubuntu 12.04 Server” –storagectl “IDE Controller” –port 1 –device 0 –type dvddrive –medium /home/ubuntu-12.04-server-amd64.iso

3.2 既存の VM のインポート

例として、examplevm という VM があり、これをこのホストで再利用したいとします。古いホストには、VirtualBox ディレクトリ内に Machines/examplevm というディレクトリがあるはずです。Machines/examplevm には examplevm.xml ファイルが含まれている必要があります。examplevm ディレクトリ(examplevm.xml ファイルを含む)を新しい Machines ディレクトリにコピーします(ユーザー名が admin の場合、これは /home/admin/.VirtualBox/Machines で、結果は /home/admin/.VirtualBox/Machines/examplevm/examplevm.xml になります)。

さらに、古い VDI ディレクトリから新しい VDI ディレクトリに examplevm.vdi ファイルをコピーします(例:/home/admin/.VirtualBox/VDI/examplevm.vdi)。

その後、インポートした VM を登録する必要があります。

$ VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 VBoxHeadless での VM の起動

新しい VM を作成するか古い VM をインポートするかに関係なく、次のコマンドで起動できます。

$ VBoxHeadless --startvm "Ubuntu 12.04 Server"

(Ubuntu 12.04 Server を VM の名前に置き換えます。)

VBoxHeadless は VM を起動し、VRDP(VirtualBox Remote Desktop Protocol)サーバーを起動します。これにより、別のマシンで VM の出力をリモートで見ることができます。

VM を停止するには、次のコマンドを実行します。

 $ VBoxManage controlvm "Ubuntu 12.04 Server" poweroff

VM を一時停止するには、次のコマンドを実行します。

$ VBoxManage controlvm "Ubuntu 12.04 Server" pause

VM をリセットするには、次のコマンドを実行します。

$ VBoxManage controlvm "Ubuntu 12.04 Server" reset

VBoxHeadless についてもっと知りたい場合は、次のように見てください。

$ VBoxHeadless --help

および http://www.virtualbox.org/manual/ch07.html#vboxheadless.

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。