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