2008年8月31日日曜日

VirtualBoxをちゃんと使えるようにする:USB機器など

今日現在のVirtualBoxのバージョン(バイナリ版)は1.6.4。
すんなりと使えない部分がありますので、対処法をまとめてみました。

(1)マウスが制御不能になり、「ホストキー」で復帰できない。

VirtualBoxのインストールが終わって、仮想マシンにWindowsをインストールしようとすると、マウスが仮想マシンに取られてしまって、制御不能になってしまう。
→「scim-bridge-client-qt」を入れればOK!
  • Synapticパッケージマネージャで上記を検索し導入
  • または端末から「sudo apt-get install scim-bridge-client-qt」とすればOK。
(2)USB機器を使えるようにしたい

VirtualBoxの操作中に「Could not load the Host USB Proxy Service・・・」というようなアラートが出て、USB機器の接続設定を試みてもデフォルトではUSB機器が使用できません。

→「端末」から下記のコマンドを打ち込む。gedit(エディタ)を管理者権限で起動して、設定ファイルを編集します。
gksudo gedit /etc/init.d/mountdevsubfs.sh

開いたファイルの中にある下記の記述を見つけます。
# 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


    ↓下記のように、4行の行頭にある「#」を取り除いて保存します。
      これにより「コメントアウト」を解除する事により、この記述部分の命令が有効となります
# 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


続いて、再度「端末」から下記のコマンドを。
gksu gedit /etc/udev/rules.d/40-permissions.rules
# USB serial converters 
SUBSYSTEM=="usb_device", GOTO="usb_serial_start"

 上のように記述されている部分を↓のように修正して保存します。

# USB serial converters
SUBSYSTEM=="usb_device", GROUP="usbusers", MODE="0664", GOTO="usb_serial_start"
続いて、
  1. 「システム」>「システム管理」>「ユーザとユーザグループ」を起動。
  2. 「ロックの解除(U)」をクリック、パスワードを入力。
  3. 「グループの管理」をクリック、「グループの追加」をクリック「usbusers」を追加し、自分のアカウント名にチェックを入れる。

最後にシステムを再起動します。

以上で、VirtualBoxの設定画面でUSBのメニューでUSB機器を選択/指定できるようになります。
プリンターやスキャナー、USBメモリなどが使用できるようになりました。


<参考サイト>

10 件のコメント:

隆成 さんのコメント...

久保田と申します。

VirtualBoxの設定画面で設定メニューの一部が表示されません。

次の条件下に VirtualBox に Windows Vista Ultimate をインストールしました。(2009.3.3)

〇 Host OS: ubuntu 8.04
〇 Guest OS: Windows Vista Ultimate(SP1)
〇 VirtualBox Application: VirtualBox GUI Ver.1.5.6_OSE (2004-2008 innotek GmbH)
〇 Installed Package:virtualbox-ose-module for linux-image-2.6.24-23-generic

現在、Vista のインストールが完了し、作動しています。
しかし、「VirtualBox OSE」画面で、「設定」ボタンをクリックして表示される「設定」画面で、左側のメニュー欄に「USB」及び「リモートディスプレイ」の2つのメニューが表示されんません。
 このため USB の設定ができず、Guest OS(Windows Vista) 上でも USB が認識されず困っています。
 ご教示の「USB 機器を使えるようにしたい」に従って「mountdevsubfs.sh」及び「40-permissions.rules」の2つのファイルは修正いています。
 なお、Host OS(ubuntu) 上では、USB をマウント可能です。

 「USB」メニューが表示されない原因と、対策をお願いします。

u-bon さんのコメント...

久保田さん、

このエントリを書いた時点よりもバージョンが進んでおりますので、OSE版ではなく、下記のバイナリー版をお試しになってみてはいかがでしょうか?
現在 2.1.4になっております。

http://www.virtualbox.org/wiki/Linux_Downloads

私の場合、Ubuntuは8.10ですがデフォルトのままでUSBデバイスが使用できています。

隆成 さんのコメント...

久保田:
コメント1の「Installed Package」に追加します。

<追加分>
○ Installed Package:
・ virtualbox-ose 1.5.6-dfsg-6 ubuntu1 (hardy,x86 virtualization-binary)
・ virtualbbox-ose-modules-generic 24.08 (virtualbox-ose-generic for linux-image-generic hardy-update)

隆成 さんのコメント...

久保田です。
u-bonさんコメントありがとうございました。
u-bonさんのコメントによりますと「VirtualBoxの設定画面で設定メニューの一部が表示されない」原因は、VirtualBox の版が「OSE」のためだとすると、この版を使った方は、この不具合を今まで問題にしなかったのでしょうか。
 なお、私は、ubuntu8.04 のディフォルトのままでインストールしました。
 原因が単に、バージョンの違いによるものであるならば、再インストールしようと思いますが、ほかに原因がある場合を考え、少し様子をみます。何しろ、Vista は既にインストールされ、使いやすくカスタマイズされていますから、これから再インストールするには大変です。、

u-bon さんのコメント...

ようやく久保田さんと同じ環境を構築し検証できました。

まずは、以下をお試しください。
sudo gedit /etc/fstab

で設定ファイルを開き、一番下の行に次を追加

none /proc/bus/usb usbfs defaults,devmode=0666 0 0

念のため再起動してみて、Virtualboxを起動してみてもUSBデバイスが認識されない場合、やはりOSE版を一旦削除し、前述のバイナリー版を入れた方が早道です。
すでに作成ずみの仮想マシンイメージは、ホームディレクトリ以下にある隠しフォルダ「.VirtualBox」に格納されており、問題なく継承されます。

手順としては、1、SynapticパッケージマネージャでVirtulaboxと検索
2、インストール済みの「Virtualbox-ose」、「virtualbox-ose-modules」をすべて削除します。
*virtualbbox-ose-modulesを削除しないと次のステップでエラーが生じます。

3、http://www.virtualbox.org/wiki/Linux_Downloads からOSにあったバージョンをダウンロード&インストールします。

4、いったん再起動します。

以上で、OKのはずです。

VirtualBoxはサンマイクロシステムズ社による買収により、オープンソース版であるOSEとバイナリー版(Closed-source)との線引きが大きく変わっています。
ホームページの「Closed-source features」に書かれているように、USB supportおよびUSB over RDP機能については、Closed-source版に搭載されており、OSE版には搭載されておりません。自力でOS、さらにはカーネルにあったモジュールを導入し、設定を変更していく必要があります。

隆成 さんのコメント...

u-bonさん、コメントありがとうございました。
 新しいパッケージをインストるすだけ済むなら助かります。
 さっそく、「virtualbox/wiki/Downloads」ページからダウンロードを試みましたが、同HPに記述されているコマンド

sudo apt-key sun_vbox.asc

で、「sun_vbox.ascは開けません」というエラーが出ます。説明書(英文)では「key」をダウンロどして、このコマンドに付け加えることができると書いてありますが、具体的にどのように記述するのでしょうか。
よろしくお願いします。久保田

u-bon さんのコメント...

それは全く違います。

http://www.virtualbox.org/wiki/Linux_Downloads

このページから下記を選択して、パッケージを導入してください。

Ubuntu 8.04 LTS ("Hardy Heron")

隆成 さんのコメント...

u-bonさん、ありがとうございました。

「Ubuntu 8.04 LTS("Hardy Heron")i386」からダウンロードした「.iso」ファイルをCD焼いて使用するということでしょうか。他の方の例では、例えば次のHP(「Virtualboxのインストール-SOSOG」)

http://d.hatena.ne.jp/yosisa/20081109/1226237696

では、「wiki/Linux_DownLoads」に示されているように、端末から「wget」を使ってダウンロード・インストールを行っているに思われますが。
 よろしく、お願いします。久保田

u-bon さんのコメント...

ダウンロードページにある
「Ubuntu 8.04 LTS ("Hardy Heron")」 の所の右にある「i386」の部分をクリックしてください。

小窓が現れます。

「プログラムで開く(O)」が選ばれた状態のまま、「OK」をクリック。

アプリのダウンロードが終わると、自動的にインストールが行われます。

隆成 さんのコメント...

久保田です。

u-bonさんありがとうございました。
お陰様で、USB機器が使えるようになりました。
 私事ですが、前に10年近くUnix(Solaris)マシンで C プログラムに携わっていましたが、Linux に触るのは初めてです。当時は、X-Window、vi 環境でした。
 Linux(Ubutu)を始めたきっかけは、「Windows XP」と「Vista」のデュアルブート環境のノート型PCのメモリが壊れて、それ以後、復帰不可能になったためです。最初、「Ubuntu 8.10」をインストールしたのですが、職場のLANドメインに参加するための入口メニュー(「システム管理」→「ネットワーク」)が表示されず、アップグレードしようにもインターネットに接続できないということで、やむなく「8.04」を再インストールすることになりました。
 「8.10」で、すんなり行っていたら、こんな素晴らし経験と出会いはできなかった思っています。
 さすがに、オープンソースだけあって、バージョンの変りが早いですね。「VirtualBox」も、初版1.3.2(2007.1.15)から最新版2.1.4(2009.2.16)までに、20版を数えているんですね。
 u-bon さんは、バージョンをどのようにフォローしていんでしょうか。教えていただければありがたいです。