USB機器が使いたいでっす
VirtualBoxでホストマシンに挿しているUSB機器を使えないものかなと思っていたのですが、使えるんですね。
やり方は難しくありませんでした。
今回の記事ではVirtualBoxでホストマシンに挿しているUSB機器を使うための方法を紹介・説明します。
VirtualBoxでUSB機器を使うための作業
グループへの追加
まず作業ユーザ(VirtualBoxを起動するユーザ)をvboxuserグループに入れる必要があります。vboxuserはVirtualBoxがインストールされたときに作られる作業用グループです。
以下の様にしてグループに追加します。[username]は作業ユーザ(VirtualBoxを起動するユーザ)の名前を入れてください。
$sudo gpasswd -a [username] vboxuser
エクステンションパックの導入
そして、VirtualBoxにエクステンションパックを導入します。
エクステンションパックは便利なドライバなどを追加して、VirtualBoxの機能を拡張するために使われます。
VirtualBoxは通常でもUSB1.0は使えるようなのですが、USB2.0以上になるとエクステンションパックが必須のようです。
ArchLinuxの場合
@MINOはdebianからArchに環境を乗り換えたのですが、Archのコミュニテーリポジトリ(AUR)にエクステンションパックがありました。
@MINOはAURからインストールするときにヘルパー(Yaourtなど)を使っていませんので、バカ正直にPKGBUILDを確認してからmakepkgコマンドでコンパイルしています。
virtualbox-ext-oracleの右側のメニューーの「スナップショットのダウンロード」からtarボールファイルを任意のディレクトリにダウンロードします。もちろんwgetなどを使用してもokです。
$ mkdir ~/aur
ダウンロードできたらディレクトリに移動して、
$ cd ~/aur
$ tar -xvf virtualbox-ext-oracle.tar.gz
解凍します。
出来上がったディレクトリに移動して、PKGBUILDを確認します(@MINOは惰性でインストールしないように癖づけしています)
確認したら、makepkgでコンパイル・インストールします。
cオプションは自動的にビルド後に要らなくなったファイルを消去、iオプションはコンパイル(パッケージ作成)から続けてインストール、sオプションは依存パッケージの自動解決です。
$cd ~/aur/virtualbox-ext-oracle
$makepkg -cis
Ubuntu・Debian・Windows・Macなどの場合
もしお使いのシステムのリポジトリにパッケージがなければ、オラクルのサイトからダウンロード可能です。
ダウンロードされるファイルはVirtualBoxのエクステンションパックの形式のようで、解凍なしにそのままでVirtualBoxにプラグできるようです。
VirtualBoxのメニューのファイル→環境設定を辿ってください。ダイアログがでますので、先程ダウンロードしたエクステンションパックを指定してプラグしてください。
Archでもこの方が楽かも。
ともあれこれでエクステンションが入りました。
USB機器を追加する
ここまでできれば後は、一旦システムを念のため再起動してください。USB機器の認識に若干不具合が出る場合があるようですので、後述の「USB機器は先に挿しておく」もお読みください。
USB機器の設定は、仮想マシンの[設定ダイアログ]から[USB]です。
ここで右側のプラスマークのアイコンをクリックすると認識されているUSB機器の一覧が出るかと思います。必要なUSB機器を選択してください。複数機器使う場合は、一個一個選択して加えていきます。
これでゲストマシンの方で、ホストに挿されたUSB機器が使えるようになっているかと思います。
ゲストマシンのシステム上で各種コマンドやGUIを使って、USB機器が認識されているか確認してみてください。
補足・ハマったポイント
USB機器は先に挿しておく
@MINOの環境での挙動だったら申し訳ないのですが、どうやらパソコンを起動した後に挿したUSB機器はVirtualBox側で認識してくれないようです。
もし、グループ追加とエクステンションパックの導入をしてあるのに、USB機器が使えるようにならない場合は、パソコンに予めVirtualBoxで使うUSB機器を挿しておいてからパソコンの電源を入れてみてください。
@MINOの場合はそれでVirtualBoxがUSB機器を認識してくれました。
まとめ
VirtualBoxでホストに挿したUSB機器を使う方法
- vboxuserグループにユーザを追加する
- エクステンションパックをインストールする
- 認識されたUSB機器を仮想マシンに設定する
- ゲストOS側で認識されているか確認
- うま〜