VirtualBox · 2 min read · Dec 31, 2025

VBoxHeadless - VirtualBox 4.0を使用してヘッドレスCentOS 5.6サーバーで仮想マシンを実行する

VBoxHeadless - VirtualBox 4.0を使用してヘッドレスCentOS 5.6サーバーで仮想マシンを実行する

Version 1.0
Author: Falko Timme
Follow me on Twitter

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

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

1 前提条件

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

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

# groupadd admin  
# useradd -d /home/admin -m -g admin -s /bin/bash admin

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

# passwd admin

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

2 VirtualBoxのインストール

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

$ su

次に、dkmsパッケージ(Dynamic Kernel Module Support Framework - このパッケージはVirtualBoxカーネルモジュールをビルドするために必要です)が公式のCentOS 5.6リポジトリには存在しないため、CentOSシステムでRPMforgeリポジトリを有効にします。

# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
# cd /tmp  
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm  
# rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm

(上記のリンクがもう機能しない場合は、現在のrpmforge-releaseのバージョンをここで見つけることができます: http://packages.sw.be/rpmforge-release/)

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

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

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

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

# uname -r
[root@server1 kernels]# uname -r  
2.6.18-238.el5  
[root@server1 kernels]#

…およびアーキテクチャ:

# uname -m
[root@server1 2.6.18-238.el5]# uname -m  
x86_64  
[root@server1 2.6.18-238.el5]#

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

# cd /usr/src/kernels/  
# ls -l
[root@server1 kernels]# ls -l  
total 4  
drwxr-xr-x 19 root root 4096 May 19 14:26 2.6.18-238.9.1.el5-x86_64  
[root@server1 kernels]#

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

# ln -s 2.6.18-238.9.1.el5-x86_64 `uname -r`-`uname -m`

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

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc  
# rpm --import oracle_vbox.asc  
# rm -f oracle_vbox.asc

次に、システムでVirtualBox CentOSリポジトリを有効にします。

# cd /etc/yum.repos.d/  
# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

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

# yum install VirtualBox-4.0

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

[...]  
Running Transaction  
  Installing     : VirtualBox-4.0                                1/1  
  
Creating group 'vboxusers'. VM users must be member of that group!  
  
No precompiled module for this kernel found -- trying to build one. Messages  
emitted during module compilation will be logged to /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.0.x86_64 0:4.0.8_71778_rhel5-1  
  
Complete!  
[root@server1 kernels]#

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

[...]  
Creating group 'vboxusers'. VM users must be member of that group!  
  
No precompiled module for this kernel found -- trying to build one. Messages  
emitted during module compilation will be logged to /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! Your kernel headers for kernel 2.6.18-238.el5 cannot be found at  
/lib/modules/2.6.18-238.el5/build or /lib/modules/2.6.18-238.el5/source.  
  [FAILED]  
  (Failed, trying without DKMS)  
Recompiling VirtualBox kernel modules [FAILED]  
  (Look at /var/log/vbox-install.log to find out what went wrong)  
  
Installed:  
  VirtualBox-4.0.x86_64 0:4.0.8_71778_rhel5-1  
  
Complete!  
[root@server1 yum.repos.d]#

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

# /etc/init.d/vboxdrv setup

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

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

# /usr/sbin/usermod -G vboxusers admin

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

# exit

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

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

3.1 VMの作成

コマンドラインでVMを作成するには、VBoxManageコマンドを使用できます。次のようにします。

$ VBoxManage --help

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

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

$ VBoxManage createvm --name "Ubuntu 11.04 Server" --register  
$ VBoxManage modifyvm "Ubuntu 11.04 Server" --memory 512 --acpi on --boot1 dvd --nic1 bridged --bridgeadapter1 eth0  
$ VBoxManage createhd --filename Ubuntu_11_04_Server.vdi --size 10000  
$ VBoxManage storagectl "Ubuntu 11.04 Server" --name "IDE Controller" --add ide  
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 0 --device 0 --type hdd --medium Ubuntu_11_04_Server.vdi  
$ VBoxManage storageattach "Ubuntu 11.04 Server" --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium /home/ubuntu-11.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ディレクトリから新しいディレクトリにexamplevm.vdiファイルをコピーします(例:/home/admin/.VirtualBox/VDI/examplevm.vdi)。

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

$ VBoxManage registervm Machines/examplevm/examplevm.xml

3.3 VBoxHeadlessでのVMの起動

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

$ VBoxHeadless --startvm "Ubuntu 11.04 Server"

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

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

VMを停止するには、次のように実行します。

$ VBoxManage controlvm "Ubuntu 11.04 Server" poweroff

VMを一時停止するには、次のように実行します。

$ VBoxManage controlvm "Ubuntu 11.04 Server" pause

VMをリセットするには、次のように実行します。

$ VBoxManage controlvm "Ubuntu 11.04 Server" reset

VBoxHeadlessについて詳しく知りたい場合は、次のようにします。

$ VBoxHeadless --help

およびhttp://www.virtualbox.org/manual/ch07.html#vboxheadlessを参照してください。

Share: X/Twitter LinkedIn

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

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