VirtualBoxに関するページです。

VirtualBoxとは

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

ArchLinux へのインストール

pre> % 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 [インストール済み]

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

pre> % 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

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

pre> % 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

/pre>

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 ファイルを以下のように変更する。

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

/pre>

apt-get でインストール

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

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

/pre>

USB を使えるようにする

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

pre> 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.

/pre> ってことで、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 の情報を記述する。

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

/pre>

Oracle 公開鍵 の登録

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

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

/pre>

apt-get でインストール

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

/pre>

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

pre> $ sudo apt-get autoremove virtualbox-3.1

/pre>

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

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

pre> $ sudo apt-get install dkms

/pre>

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とかも必要。(未確認)

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

/pre>

本体のインストール

  • aptを使って最新版をインストールする(参考:Linux_Downloads - VirtualBox 以下のURLをapt-lineに追加する。

    pre> deb http://download.virtualbox.org/virtualbox/debian hardy non-free

    /pre> SUNの公開鍵をaptに登録する。

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

    /pre> aptitudeでインストールする。

    pre> $ 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 パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 拡張状態情報を読み込んでいます パッケージの状態を初期化しています... 完了 拡張状態情報を書き込んでいます... 完了 タグのデータベースを構築しています... 完了

/pre>

  • パッケージをダウンロードしてからインストールする Ubuntuのパッケージでなく、Sun Microsystemsが提供している2.0.2をインストールする。

    pre> $ dpkg -i virtualbox-2.0_2.0.2-36488_Ubuntu_hardy_amd64.deb

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

Bridgeインタフェースの作成

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

/etc/network/interfacesの編集

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

pre> auto br0 iface br0 inet dhcp

 bridge_ports eth0

/pre> ネットワークの再起動

pre> $ sudo /etc/init.d/network restart

/pre>

Bridgeインタフェースの作成

pre> $ sudo VBoxAddIF vbox0 ユーザ名 br0

/pre>

/dev/net/tun

pre> 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).

/pre>

pre> itou-r@mx27:~$ ls -al /dev/net/tun crw-rw---- 1 root root 10, 200 2008-04-23 03:04 /dev/net/tun

/pre>

ゲストOSの設定

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

1.6.0

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

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

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

/pre>

本体のインストール

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

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

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

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

Ubuntu 9.04 の場合

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

pre> $ sudo usermod -a -G vboxusers hogehoge

/pre>

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

pre> $ 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
  1. /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
  1. mkdir -p /dev/bus/usb/.usbfs
  2. domount usbfs "" /dev/bus/usb/.usbfs -obusmode=0700,devmode=0600,listmode=0644
  3. ln -s .usbfs/devices /dev/bus/usb/devices
  4. mount --rbind /dev/bus/usb /proc/bus/usb
    }
    
    case "$1" in

    /pre>

/etc/fstab

pre> $ diff -Nur /etc/fstab.orig /etc/fstab

  • /etc/fstab.orig 2008-06-11 15:01:36.000000000 +0900
  1. /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
  1. usbfs /proc/bus/usb usbfs devgid=124,devmode=0666 0 0

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

/etc/group

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

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

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

pre> $ cd /cdrom $ sudo ./VBoxLinuxAdditions-x86.run

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

CentOS 6.8 の場合

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

pre>

# yum install gcc make kernel kernel-devel bzip2

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

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

pre>

# # mkdir /mnt/cdrom

# # mount /dev/cdrom /mnt/cdrom

# # cd /mnt/cdrom

# # ./VBoxLinuxAdditions.run

/pre>

CentOS 5.3 の場合

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

pre>

# yum install gcc make kernel kernel-devel

/pre> あとは、上と同じ。

USB 2.0 isochronous support

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

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

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

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

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

pre> $ VBoxManage modifyhd windows.vdi --resize 64000

/pre>

misc

リンク


トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-08-22 (月) 19:42:12 (479d)