VirtualBoxに関するページです。

VirtualBoxとは

近畿大学の井口先生に教えてもらった仮想マシンの実装のひとつ。ドイツの企業であるInnoTek社が開発を行っていたが、現在はSun Microsystemsに買収されたらしい。Sun Microsystems が Oracle に買収されたのに伴い、3.2.0 から Oracle VirtualBox に名称変更された。

ArchLinux へのインストール

% sudo pacman -S virtualbox
依存関係を解決しています...
相互衝突をチェックしています...

パッケージ (2): virtualbox-host-modules-4.3.8-1  virtualbox-4.3.8-2

Total Download Size:    15.20 MiB
Total Installed Size:   75.94 MiB

:: インストールを行いますか? [Y/n] y
:: パッケージを取得します ...
 virtualbox-host-mod...   160.9 KiB   255K/s 00:01 [######################] 100%
 virtualbox-4.3.8-2-...    15.0 MiB   263K/s 00:59 [######################] 100%
(2/2) キーリングのキーを確認                       [######################] 100%
(2/2) パッケージの整合性をチェック                 [######################] 100%
(2/2) パッケージファイルのロード                   [######################] 100%
(2/2) ファイルの衝突をチェック                     [######################] 100%
(2/2) 空き容量を確認                               [######################] 100%
(1/2) インストール virtualbox-host-modules         [######################] 100%
===> You must load vboxdrv module before starting VirtualBox:
===> # modprobe vboxdrv
(2/2) インストール virtualbox                      [######################] 100%
virtualbox の提案パッケージ
    qt4: VirtualBox GUI support [インストール済み]
    vde2: Virtual Distributed Ethernet support
    virtualbox-sdk: Developer kit
    virtualbox-host-dkms: Host kernel source modules for non-stock kernels
    net-tools: Host-only or bridged networking support [インストール済み]

実行時に警告が表示される。

% virtualbox
WARNING: The vboxdrv kernel module is not loaded. Either there is no module
         available for the current kernel (3.13.6-1-ARCH) or it failed to
         load. Please reinstall the kernel module virtualbox-host-modules or
         if you don't use our stock kernel compile the modules with

           sudo dkms autoinstall

         You will not be able to start VMs until this problem is fixed.
Qt WARNING: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited

VirtualBox 用のカーネルモジュールがロードされていないようなので、以下のコマンドを実行する。

% lsmod | head
Module                  Size  Used by
joydev                  9631  0 
hid_generic             1153  0 
usbhid                 40545  0 
hid                    90902  2 hid_generic,usbhid
mousedev               10247  0 
iTCO_wdt                5407  0 
iTCO_vendor_support     1929  1 iTCO_wdt
snd_hda_codec_analog    9307  1 
btusb                  19648  0 
% sudo modprobe vboxdrv
% lsmod | head
Module                  Size  Used by
vboxdrv               264122  0 
joydev                  9631  0 
hid_generic             1153  0 
usbhid                 40545  0 
hid                    90902  2 hid_generic,usbhid
mousedev               10247  0 
iTCO_wdt                5407  0 
iTCO_vendor_support     1929  1 iTCO_wdt
snd_hda_codec_analog    9307  1 

Ubuntu 10.04 AMDへのインストール

Lucid のβバージョン時には 3.1系列のパッケージが存在しなかったが、その後公開されたので簡単にインストールできるようになった。

Linux_Downloads - VirtualBoxに書かれているとおりにすればよい。

4.0.8 のインストール

APT ラインの変更

Ver. 4.0 から Debian 系の APT レポジトリが non-free から contrib に変更されたので、/etc/apt/sources.list.d/virtualbox.list ファイルを以下のように変更する。

deb http://download.virtualbox.org/virtualbox/debian lucid contrib non-free

apt-get でインストール

後は普通に apt-get でインストールすればよい。

$ sudo apt-get update
$ sudo apt-get install virtualbox-4.0

USB を使えるようにする

4.0 から USB 2.0 などのサポートが Extension Pack として独立したので、これをインストールしないと USB 2.0 が使えない。さらに、ゲストOS 起動時に以下の警告が出る場合がある。

USBサブシステムのアクセスに失敗しました。
VirtualBox is not currently allowed to access USB devices. You can change this by adding your user to the 'vboxusers' group. Please see the user manual for a more detailed explanation.

ってことで、USB を使いたいユーザアカウントを vboxusers グループに追加する。

次に、Oracle VM VirtualBox Extension Pack をインストールする。
VirtualBoxのダウンロードページからダウンロードして、インストールすればよい。

Guest Additions のインストール

VirutalBox? のバージョンやレビジョンを上げた場合は、必ず Guest Additions もインストールしなおすこと。

3.2.4 のインストール

APTラインの追加

/etc/apt/sources.list.d/virtualbox.list ファイルに VirtualBox の情報を記述する。

deb http://download.virtualbox.org/virtualbox/debian lucid non-free

Oracle 公開鍵 の登録

apt-secure のための Oracle 公開鍵を登録する。

$ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

apt-get でインストール

$ sudo apt-get update
$ sudo apt-get install virtualbox-3.2

既に 3.1系列がインストールしてあった場合、いくつか不用なパッケージが残るので、 apt-get autoremove で削除する。

$ sudo apt-get autoremove virtualbox-3.1

dkms パッケージのインストール

ホストのカーネルがバージョンアップされた際に、自動的に VirtualBox 関連のドライバも自動更新されるようにするため、dkms パッケージをインストールしておくと幸せになれるらしい。

$ sudo apt-get install dkms

Ubuntu 9.04 AMD64へのインストール

3.1.2 へのアップグレード

Guest OS が Debian Lennyの時、Xが立ち上がらなくなってきた。Guest Additionsが設定する /etc/X11/xorg.conf に不具合があるみたいだ。とりあえず、他のLinux Guest OS(Ubuntu 9.04)から/etc/X11/xorg.conf をコピーして急をしのいだ。しかし、右CTRLを押さないと Guest OSから出られなくなった。

Ubuntu 8.04 AMD64へのインストール

2.1へのアップグレード

2.1ではブリッジ機能がサポートされるようになったので、下に書いてあるようなことはしなくてよくなった。(というか、むしろ設定したブリッジを解除しておいたほうがよい。)

vbox0など、以前のバージョンで作成したネットワークインタフェースが残って気になる場合は、/etc/vbox/interfaces に記述されている内容を消去して、再起動すればよい。

2.0.4へのアップグレード

aptラインにVirtualBoxのサイトを登録済であれば、aptitude upgradeするだけでよい。

2.0.2

必要なパッケージのインストール

インストールの際にモジュールをビルドするので、おそらくカーネルヘッダとかbuild-essentialとかも必要。(未確認)

$ sudo aptitude install libqt4-core scim-bridge-client-qt4

本体のインストール

  • aptを使って最新版をインストールする(参考:Linux_Downloads - VirtualBox 以下のURLをapt-lineに追加する。
    deb http://download.virtualbox.org/virtualbox/debian hardy non-free
    SUNの公開鍵をaptに登録する。
    $ wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
    aptitudeでインストールする。
    $ sudo aptitude install virtualbox-2.0
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています                
    状態情報を読み取っています... 完了
    拡張状態情報を読み込んでいます      
    パッケージの状態を初期化しています... 完了
    タグのデータベースを構築しています... 完了  
    以下の新規パッケージが自動的にインストールされます:
      bridge-utils dkms libqt4-core libsdl-ttf2.0-0 uml-utilities 
    以下の新規パッケージがインストールされます:
      bridge-utils dkms libqt4-core libsdl-ttf2.0-0 uml-utilities 
      virtualbox-2.0 
    0 個のパッケージを更新、 6 個を新たにインストール、 0 個を削除予定、0 個が更新されていない。
    アーカイブ 32.8MB 中 32.8MB を取得する必要があります。 展開後に 79.6MB のディスク領域が新たに消費されます。
    続けますか? [Y/n/?] y
    拡張状態情報を書き込んでいます... 完了
    取得:1 http://download.virtualbox.org hardy/non-free virtualbox-2.0 2.0.2-36488_Ubuntu_hardy [32.7MB]
    取得:2 http://ftp.jaist.ac.jp hardy/main bridge-utils 1.2-2 [30.7kB]
    取得:3 http://ftp.jaist.ac.jp hardy-backports/universe dkms 2.0.20.4-0ubuntu1~hardy1 [55.3kB]
    取得:4 http://ftp.jaist.ac.jp hardy/main libsdl-ttf2.0-0 2.0.9-1 [16.4kB]
    取得:5 http://ftp.jaist.ac.jp hardy/universe uml-utilities 20070815-1 [63.3kB]
    32.8MB を 5min47s 秒でダウンロードしました (94.4kB/s)                           
    パッケージを事前設定しています ...
    未選択パッケージ libqt4-core を選択しています。
    (データベースを読み込んでいます ... 現在 177296 個のファイルとディレクトリがインストールされています。)
    (.../libqt4-core_4.4.0-1ubuntu5~hardy1_amd64.deb から) libqt4-core を展開しています...
    未選択パッケージ virtualbox-2.0 を選択しています。
    (.../virtualbox-2.0_2.0.2-36488%5fUbuntu%5fhardy_amd64.deb から) virtualbox-2.0 を展開しています...
    未選択パッケージ bridge-utils を選択しています。
    (.../bridge-utils_1.2-2_amd64.deb から) bridge-utils を展開しています...
    未選択パッケージ dkms を選択しています。
    (.../dkms_2.0.20.4-0ubuntu1~hardy1_all.deb から) dkms を展開しています...
    未選択パッケージ libsdl-ttf2.0-0 を選択しています。
    (.../libsdl-ttf2.0-0_2.0.9-1_amd64.deb から) libsdl-ttf2.0-0 を展開しています...
    未選択パッケージ uml-utilities を選択しています。
    (.../uml-utilities_20070815-1_amd64.deb から) uml-utilities を展開しています...
    libqt4-core (4.4.0-1ubuntu5~hardy1) を設定しています ...
    virtualbox-2.0 (2.0.2-36488_Ubuntu_hardy) を設定しています ...
    グループ `vboxusers' (GID 124) を追加しています...
    終了。
    Messages emitted during module compilation will be logged to /var/log/vbox-install.log.
    Success!
     * Starting VirtualBox kernel module                                             *  done.
     * Starting VirtualBox host networking                                           *  done.
    
    bridge-utils (1.2-2) を設定しています ...
    
    dkms (2.0.20.4-0ubuntu1~hardy1) を設定しています ...
    libsdl-ttf2.0-0 (2.0.9-1) を設定しています ...
    
    uml-utilities (20070815-1) を設定しています ...
     * Starting User-mode networking switch uml_switch                       [ OK ] 
    
    Processing triggers for libc6 ...
    ldconfig deferred processing now taking place
    パッケージリストを読み込んでいます... 完了
    依存関係ツリーを作成しています                
    状態情報を読み取っています... 完了
    拡張状態情報を読み込んでいます      
    パッケージの状態を初期化しています... 完了
    拡張状態情報を書き込んでいます... 完了        
    タグのデータベースを構築しています... 完了
  • パッケージをダウンロードしてからインストールする Ubuntuのパッケージでなく、Sun Microsystemsが提供している2.0.2をインストールする。
    $  dpkg -i virtualbox-2.0_2.0.2-36488_Ubuntu_hardy_amd64.deb
    何度か質問されるが、原則デフォルトでOK。

Bridgeインタフェースの作成

インストールしてなければ、bridge-utilsをインストールしておく。

/etc/network/interfacesの編集

どの物理インタフェースを使ってブリッジを作るかを記述する。

auto br0
iface br0 inet dhcp
  bridge_ports eth0

ネットワークの再起動

$ sudo /etc/init.d/network restart

Bridgeインタフェースの作成

$ sudo VBoxAddIF vbox0 ユーザ名 br0

/dev/net/tun

Failed to open '/dev/net/tun' for read/write access. Please check the
permissions of that node. Either run 'chmod 0666 /dev/net/tun' or change the
group of that node and make yourself a member of that group. Make sure that
these changes are permanent, especially if you are using udev.
VBox status code: -3100 (VERR_HOSTIF_INIT_FAILED).
itou-r@mx27:~$ ls -al /dev/net/tun
crw-rw---- 1 root root 10, 200 2008-04-23 03:04 /dev/net/tun

ゲストOSの設定

「ネットワーク」→「割り当て」を「ホストインタフェース」→「インタフェース名」に上で作成したインタフェース名(vbox0)を指定する。

1.6.0

必要なパッケージのインストール

インストールの際にモジュールをビルドするので、おそらくカーネルヘッダとかbuild-essentialとかも必要。(未確認)

$ sudo aptitude install libqt3-mt scim-bridge-client-qt

本体のインストール

Ubuntuのパッケージでなく、Sun Microsystemsが提供している1.6をインストールする。

$  dpkg -i virtualbox_1.6.0-30421_Ubuntu_hardy_amd64.deb

何度か質問されるが、原則デフォルトでOK。

ゲストOSでUSBが使えるようにする

Ubuntu 9.04 の場合

vboxusers グループに自分のアカウントを追加すればよい。

$ sudo usermod -a -G vboxusers hogehoge

Ubuntu 7.10 や 8.04 の場合

Get USB devices mounted on your Virtualbox XP machine in Gutsy (Ubuntu 7.10) | ArsGeek

ホストOS上で、以下の2つのファイルを書き換えて再起動する。

/etc/init.d/mountdevusbfs.sh

$ diff -Nur /etc/init.d/mountdevsubfs.sh.orig /etc/init.d/mountdevsubfs.sh
--- /etc/init.d/mountdevsubfs.sh.orig	2008-06-11 14:42:55.000000000 +0900
+++ /etc/init.d/mountdevsubfs.sh	2008-06-11 14:43:07.000000000 +0900
@@ -39,10 +39,10 @@
 	#
 	# Magic to make /proc/bus/usb work
 	#
-	#mkdir -p /dev/bus/usb/.usbfs
-	#domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
-	#ln -s .usbfs/devices /dev/bus/usb/devices
-	#mount --rbind /dev/bus/usb /proc/bus/usb
+	mkdir -p /dev/bus/usb/.usbfs
+	domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
+	ln -s .usbfs/devices /dev/bus/usb/devices
+	mount --rbind /dev/bus/usb /proc/bus/usb
 }
 
 case "$1" in

/etc/fstab

$ diff -Nur /etc/fstab.orig /etc/fstab
--- /etc/fstab.orig	2008-06-11 15:01:36.000000000 +0900
+++ /etc/fstab	2008-06-11 15:02:56.000000000 +0900
@@ -7,3 +7,4 @@
 # /dev/sda7
 UUID=eba2d4a4-3c78-4e45-8ea4-19be163cc960 none            swap    sw              0       0
 /dev/scd0       /media/cdrom0   udf,iso9660 user,noauto,exec,utf8 0       0
+usbfs           /proc/bus/usb   usbfs   devgid=124,devmode=0666 0 0

ここでdevgidの値は、/etc/group中のvboxusersの値。

/etc/group

vboxusersに自分のアカウントを追加する。

ゲストOSとホストOSの間をシームレスに行き来する。

VirualBox? Guest Additions driverをインストールすればよい。ゲストOSがUbuntu 8.04の場合、「デバイス」→「Guest Additionsのインストール」でCD-ROMイメージがマウントされるので、ターミナルを開いて、以下のコマンドを実行する。

$ cd /cdrom
$ sudo ./VBoxLinuxAdditions?-x86.run

あとはゲストOSを再起動すればよい。

CentOS 6.8 の場合

X11をインストールせずに、Guest Additions driverをインストールには、カーネルヘッダと開発用ツール、bzip2が必要なので、以下のコマンドを実行する。

# yum install gcc make kernel kernel-devel bzip2

あとは、上と同じ。ひょっとすると、semanageコマンドも必要なので、policycoreutil-pythonパッケージもインストールする必要があるかも。

VirtualBox のメニューで「デバイス」→「Guest Addition CDイメージの挿入」と進み、

# # mkdir /mnt/cdrom
# # mount /dev/cdrom /mnt/cdrom
# # cd /mnt/cdrom
# # ./VBoxLinuxAdditions?.run

CentOS 5.3 の場合

Guest Additions driverをインストールには、カーネルヘッダと開発用ツールが必要なので、以下のコマンドを実行する。

# yum install gcc make kernel kernel-devel

あとは、上と同じ。

USB 2.0 isochronous support

2.2.4でもまだサポートされていないので、USB2.0の webcam は使えない。2年前に ticket が発行されているにもかかわらず、未だに対応されず。VMwareはサポートしているだけに、早急な対応が望まれる。

仮想ディスクの容量を拡張する

VBoxManage? コマンドを使うのが楽なようだ。

$ VBoxManage? modifyhd "仮想ディスク名"  --resize サイズ(Mbyte単位)

例:windows.vdi を 64GBに拡張したい場合

$ VBoxManage? modifyhd windows.vdi --resize 64000

misc

リンク


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-22 (月) 19:42:12 (217d)