VirtualBox

2016/05/04更新

対応バージョン: 5.0.20

VirtualBox上に作成した仮想マシンを他の環境に移行するには単純に以下のファイル・ディレクトリを移行先にコピーするだけでよい。

~/.config/VirtualBox/VirtualBox.xml
~/VirtualBox\ VMsディレクトリ配下全て

ただし両OS上に同一バージョンのVirtualBoxがインストールされていて移行先で一度VirtualBoxを起動していることが前提となる(~/.config/VirtualBox配下に各種ファイルを作成するため)。

関連資料・記事

2014/11/24更新

対応バージョン: 4.3.20

VirtualBox上に作成した仮想マシンを他の環境に移行する手順を示す。

移行環境は以下のとおりとする。尚、両OS上に同一バージョンのVirtualBoxがインストールされていることが前提となる(OSの種類は問わない)。

移行元OS

Ubuntu 14.04

移行先OS

CentOS 7.0

移行対象の仮想マシン

Windows XP Home(名称は「xp」とする)

仮想マシンのエクスポート

移行元仮想マシンの情報をOVF形式でexportする。
% VBoxManage export xp -o xp.ovf

上記により以下のファイルが出力される。

xp.ovf

各種構成情報を記述したファイル(XML形式)

xp-xxx.vmdk

仮想ディスク

移行準備

上記のファイルを移行先マシンにコピーする。

移行

移行先環境にて仮想マシンをimportする。
% VBoxManage import xp.ovf   
Virtualbox起動

あとは通常通りVirtualboxを起動して仮想マシンを使用すればよい。

% virtualbox

関連資料・記事

2012/5/13更新

対応バージョン: 4.1.14

ゲストOSはデフォルトのままでは外部ホストからアクセスできない設定になっているので以下の設定で専用の仮想NICを有効にすればアクセス可能になる。

ここではゲストOSがLinuxであるものとする。他のOSでも同様に仮想NICに対してIPアドレス等を割り当てればよい。

ゲストOSをシャットダウン
[設定] > [ネットワーク] > [アダプタ2]より以下の設定を行う

・「ネットワークアダプタを有効化」をチェック

・割り当てから「ブリッジ アダプタ」を選択

OSを起動すると仮想NICとしてeth1が使用可能になるので[システム] > [設定] > [ネットワーク接続]から以下を設定する

・IPアドレス

・GW

・DNSサーバ

2010/1/11更新

対応バージョン: 3.1.2

VRDP(VirtualBox Remote Desktop Protocol)サーバを有効にして外部から仮想マシンの画面を遠隔操作する手順を示す。

尚、対象の仮想マシン名は「Windows_XP_Home」とする。

VRDPサーバを有効にする

仮想マシンをシャットダウンしてから以下の設定を行う。

サーバ有効化
% VBoxManage modifyvm Windows_XP_Home --vrdp on
認証方式設定
% VBoxManage modifyvm Windows_XP_Home --vrdpauthtype <null|external|guest>

認証方式には以下が指定できる。

Null

認証なし(パスワードなしで接続可能)

external

ホストOSのアカウントで認証

guest

ゲストのユーザアカウントで認証

ポート変更(オプション)

デフォルトで指定されている待ち受けポート番号3389を変更したい場合は以下のようにする。

% VBoxManage modifyvm Windows_XP_Home --vrdpport <ポート番号>

デフォルトに戻す場合はポート番号に"default"を指定する。

クライアントから接続する

任意のRDPクライアントから接続する。

Windowsの場合

[スタート] > [すべてのプログラム] > [アクセサリ] > [リモートデスクトップ接続]にて接続先ホストや各種オプションを指定して接続する。

Linuxの場合

rdesktopコマンドを使用する。

認証がnullの場合
% rdesktop <ホスト>:<ポート>
認証がnull以外の場合
% rdesktop -u <ユーザ> <ホスト>:<ポート>

(*) Ubuntu 9.10付属のrdesktopではこの方法で正常に接続できない。

2016/01/12更新

対応バージョン: 5.0.12

VirtualBox仮想マシンの設定ファイルである.vboxファイルが提供されている場合、以下の手順で簡単にVirtualBoxの管理下に置くことができる。

まず.vboxファイルの中からOSがインストールされている仮想ディスクのファイルを特定する。

% grep location xxx.vbox
        <HardDisk uuid="{8c1256aa-f90b-40f3-857a-faff4c8a53d8}" location="xxx.vdi" format="VDI" type="Normal"/>

この仮想ディスクファイルと.vboxファイルをVirtualBoxの仮想マシン管理ディレクトリに置き、VBoxManage registervmコマンドを実行すれば完了である。

% mkdir ~/VirtualBox\ VMs/xxx
% cp xxx.vbox xxx.vdi ~/VirtualBox\ VMs/xxx
% VBoxManage registervm ~/VirtualBox\ VMs/xxx/xxx.vbox

仮想マシンをVirtualBoxの管理下から外したい場合はVBoxManage unregistervmコマンドを実行すればよい。ファイルも一緒に削除したい場合は--deleteオプションを付ける。

% VBoxManage unregistervm xxx [--delete]

参考サイト

2016/01/27更新

対応バージョン: 5.0.12

Linuxのカーネルをアップデートした後にVirtualBoxの仮想マシンを起動しようとすると以下のメッセージが出る。

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded
or there is a permission problem with /dev/vboxdrv.
Please reinstall the kernel module by executing

'/sbin/rcvboxdrv setup'

as root. If it is available in your distribution,
you should install the DKMS package first.
This package keeps track of Linux kernel changes and recompiles
the vboxdrv kernel module if necessary.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908)
- The support driver is not installed. On linux, open returned ENOENT. 

指示に従ってrcvboxdrv setupコマンドを実行するとエラーになる。

% sudo /sbin/rcvboxdrv setup
Bad argument setup

これはrcvboxdrvスクリプトが以下のようになっているからなので、代わりにvboxdrv.sh setupを実行すればよい。

% more /sbin/rcvboxdrv
:
while test -n "${1}"; do
    case "${1}" in
        --nostart)
            START=
            ;;
        *)
            echo "Bad argument ${1}" >&2
            exit 1
            ;;
    esac
    shift
done
:

% sudo /usr/lib/virtualbox/vboxdrv.sh setup
Stopping VirtualBox kernel modules ...done.
Uninstalling old VirtualBox DKMS kernel modules ...done.
Trying to register the VirtualBox kernel modules using DKMS ...done.
Starting VirtualBox kernel modules ...done.

2013/8/25更新

対応バージョン: 4.2.16

ゲストOSからホストOSにキー制御を戻す場合ホストキーを押すが、デフォルトでホストキーに設定されている右Ctrlキーがないキーボードの場合はCtrl+Alt+Delキーで代用できる。

なお、ホストキーを変更するにはVirtualBoxマネージャの[ファイル] > [環境設定]から[入力]タブを選択し、任意のキーを設定すればよい。

2015/12/06更新

対応バージョン: 5.0.10

VirtualBox Guest Additionsは通常GUIで簡単にインストールできるがサーバ機などでCUI環境しかない場合は以下の手順でコマンドラインでインストールできる。

ここでは導入OSをUbuntu 15.04、VirtualBoxのバージョンを5.0.10として説明する。

bzip2インストール

VBoxLinuxAdditions.run実行時に必要なのでインストールされていない場合はインストールしておく。

% which bzip2
<- インストールされていない
% sudo apt install bzip2

パッケージ or ISOファイルダウンロード

http://download.virtualbox.org/virtualboxにVirtualBoxのバージョン毎のディレクトリがあり、その配下にディストリビューション毎のパッケージが格納されている。

Ubuntuの場合は当記事執筆時点で12.04(precise)、14.04(Trusty Tahr)、15.10(Wily Werewolf)用が配布されており今回対象となる15.04(Vivid Vervet)用が配布されていないので各OS分全てが格納されているISOイメージを入手してインストールする。

% wget http://download.virtualbox.org/virtualbox/5.0.10/VBoxGuestAdditions_5.0.10.iso
% sudo mkdir /media/VBoxGuestAdditions
% sudo mount -t iso9660 -o loop VBoxGuestAdditions_5.0.10.iso /media/VBoxGuestAdditions
mount: /dev/loop0 is write-protected, mounting read-only

VirtualBox Guest Additionsインストール

ISOイメージに含まれているファイルを見るとUbuntu用はVBoxLinuxAdditions.runなのでこれを実行する。

% ls -l /media/VBoxGuestAdditions/
合計 51259
dr-xr-xr-x 2 root root     2048 11月 11 02:02 32Bit/
dr-xr-xr-x 2 root root     2048 11月 11 02:02 64Bit/
-r-xr-xr-x 1 root root      647  8月 20 20:47 AUTORUN.INF*
dr-xr-xr-x 2 root root     2048 11月 11 02:02 OS2/
-r-xr-xr-x 1 root root  7515597 11月 11 02:57 VBoxLinuxAdditions.run*
-r-xr-xr-x 1 root root 17440768 11月 11 03:58 VBoxSolarisAdditions.pkg*
-r-xr-xr-x 1 root root 16949040 11月 11 03:02 VBoxWindowsAdditions-amd64.exe*
-r-xr-xr-x 1 root root 10244320 11月 11 02:57 VBoxWindowsAdditions-x86.exe*
-r-xr-xr-x 1 root root   316016 11月 11 02:56 VBoxWindowsAdditions.exe*
-r-xr-xr-x 1 root root     6964 11月 11 02:57 autorun.sh*
dr-xr-xr-x 2 root root     2048 11月 11 02:02 cert/
-r-xr-xr-x 1 root root     5519 11月 11 02:57 runasroot.sh*

% sudo /media/VBoxGuestAdditions/VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.0.10 Guest Additions for Linux............
VirtualBox Guest Additions installer
Copying additional installer modules ...
Installing additional modules ...
Removing existing VirtualBox DKMS kernel modules ...done.
Removing existing VirtualBox non-DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules ...done.
Doing non-kernel setup of the Guest Additions ...done.
Starting the VirtualBox Guest Additions ...fail!
(modprobe vboxguest failed)
Installing the Window System drivers
 ...done.
Installing graphics libraries and desktop services components ...done.

後片付け

% sudo umount /media/VBoxGuestAdditions
% sudo rmdir /media/VBoxGuestAdditions
% rm VBoxGuestAdditions_5.0.10.iso

関連資料・記事

参考サイト

2014/10/05更新

対応バージョン: 4.3

VirtualBoxをCentOS 6.4環境に導入する手順を示す。

流れとしては関連パッケージのインストールに続いてVirtualBox本体のインストールという形になる。

関連パッケージインストール

DKMSインストール

VirtualBoxはvboxdrvというカーネルモジュールを使用するため、CentOSのカーネルがアップデートされた際に自動的にカーネルモジュールもビルド・アップデートされるようにそれをサポートするDKMS(Dynamic Kernel Module Support)をインストールしておく。

% sudo yum install dkms

% yum info dkms
Name        : dkms
Arch        : noarch
Version     : 2.2.0.3
Release     : 26.el6
Size        : 210 k
Repo        : installed
From repo   : epel
Summary     : Dynamic Kernel Module Support Framework
URL         : http://linux.dell.com/dkms
License     : GPLv2+
Description : This package contains the framework for the Dynamic Kernel
Module Support
            : (DKMS) method for installing module RPMS as originally developed
by Dell.

VirtualBoxインストール

関連パッケージがインストールできたらVirtualBox本体をインストールする。ここではyumを使用することとし、リポジトリの登録に続いてインストールを行う。

% cd /etc/yum.repos.d/

% sudo wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

% yum list | grep VirtualBox
VirtualBox-3.2.x86_64       3.2.24_95036_el6-1      virtualbox
VirtualBox-4.0.x86_64       4.0.26_95035_el6-1      virtualbox
VirtualBox-4.1.x86_64       4.1.34_95024_el6-1      virtualbox
VirtualBox-4.2.x86_64       4.2.26_95022_el6-1      virtualbox
VirtualBox-4.3.x86_64       4.3.16_95972_el6-1      virtualbox

% yum install VirtualBox-4.3

% yum info VirtualBox-4.3
Name        : VirtualBox-4.3
Arch        : x86_64
Version     : 4.3.16_95972_el6
Release     : 1
Size        : 144 M
Repo        : installed
From repo   : virtualbox
Summary     : Oracle VM VirtualBox
URL         : http://www.virtualbox.org/
License     : GPLv2
Description : VirtualBox is a powerful PC virtualization solution allowing
            : you to run a wide range of PC operating systems on your Linux
            : system. This includes Windows, Linux, FreeBSD, DOS, OpenBSD
            : and others. VirtualBox comes with a broad feature set and
            : excellent performance, making it the premier virtualization
            : software solution on the market.

% dkms status
vboxhost, 4.3.16: added

インストールログを確認し、もしエラーが出ていたら対応する。

例えばカーネルのバージョンとヘッダファイルのバージョンに差異があると以下のようなエラーになる。

% cat /var/log/vbox-install.log
:
Failed to install using DKMS, attempting to install without
Makefile:183: *** Error: unable to find the sources of your current Linux
kernel. Specify KERN_DIR=<directory> and run Make again.  中止.

この場合、両者のバージョンを揃えて/etc/rc.d/init.d/vboxdrvを再実行する。

関連資料・記事

% sudo /etc/rc.d/init.d/vboxdrv setup

この作業によりVirtualBox用のデバイスドライバが作成される。

% ls -ld /dev/vbox*
crw------- 1 root root      10, 57 10月 2 20:51 2014 /dev/vboxdrv
crw-rw-rw- 1 root root      10, 56 10月 2 20:51 2014 /dev/vboxdrvu
crw------- 1 root root      10, 55 10月 2 20:51 2014 /dev/vboxnetctl
drwxr-x--- 3 root vboxusers     60 10月 2 20:51 2014 /dev/vboxusb/

% /etc/init.d/vboxdrv status
VirtualBox kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) are loaded.

VirtualBoxを使用するユーザをvboxusersグループに追加する。

% sudo gpasswd -a <user> vboxusers

その他、以下のinitスクリプトがインストールされるが、デフォルトの状態では何も動かないので必要に応じて適宜設定を行う。

vboxautostart-service

OS起動時にVMも一緒に起動する

vboxballoonctrl-service

VMのメモリ使用状況を監視する

vboxweb-service

VirtualBoxをブラウザから制御するためのWebサービス

尚、仮想マシン作成の手順は割愛する。

Vagrantを使った仮想マシンの作成については以下を参照のこと。

関連資料・記事