VirtualBox · 1 min read · Dec 02, 2025

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

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

バージョン 1.0
著者: Falko Timme
Twitterでフォローしてください

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

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

1 前提条件

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

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

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

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

# passwd admin

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

2 VirtualBoxのインストール

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

$ su

まず、インストールされているカーネルを確認する必要があります。

# uname -a
server1:/home/admin # uname -a  
Linux server1 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux  
server1:/home/admin #

ご覧のとおり、私はkernel-desktopパッケージをインストールしています。もしkernel-serverパッケージをインストールしている場合は、次のコマンドでdesktopをserverに置き換えてください。

次に、VirtualBox 4.1の依存関係を次のようにインストールします(kernel-desktop / kernel-serverパッケージを再インストールすることで、最新バージョンがインストールされていることを確認します)。

# yast -i kernel-desktop kernel-desktop-devel kernel-source kernel-syms Xerces-c gcc make

カーネルが更新されると、YaSTはシステムを再起動する必要があることを通知します。この場合は、次のように実行します。

# reboot

再度通常のユーザーとしてログインし、次にrootになります。

$ su

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

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

次に、システムでVirtualBox OpenSUSEリポジトリを有効にします(OpenSUSE 12.1用のリポジトリファイルはありませんが、11.4用のリポジトリファイルは12.1でも機能します)。

# cd /etc/zypp/repos.d/  
# wget http://download.virtualbox.org/virtualbox/rpm/opensuse/11.4/virtualbox.repo

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

# yast -i VirtualBox-4.1

その後、vboxdrvカーネルモジュールがロードされていることを確認します。

# modprobe vboxdrv

次のコマンドは、システムを起動するたびにvboxdrvカーネルモジュールが自動的にロードされることを確認します。

# insserv vboxdrv

バージョン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ブートのサポート。

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

# cd /tmp  
# wget http://download.virtualbox.org/virtualbox/4.1.18/Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack  
# sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.18-78361.vbox-extpack

(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 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 512 --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ディレクトリから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

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

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