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/ディレクトリにありますが、そのディレクトリは
カーネルバージョンを確認します…
# 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 setupVirtualBoxカーネルモジュールを作成します。)
次に、VirtualBoxを実行するユーザー(この例ではadmin)をvboxusersグループに追加する必要があります。
# /usr/sbin/usermod -G vboxusers adminVirtualBoxは現在インストールされ、使用する準備が整いました。
# 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.iso3.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.xml3.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" poweroffVMを一時停止するには、次のように実行します。
$ VBoxManage controlvm "Ubuntu 11.04 Server" pauseVMをリセットするには、次のように実行します。
$ VBoxManage controlvm "Ubuntu 11.04 Server" resetVBoxHeadlessについて詳しく知りたい場合は、次のようにします。
$ VBoxHeadless --helpおよびhttp://www.virtualbox.org/manual/ch07.html#vboxheadlessを参照してください。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。