linux – VirtualBox で使用できる USB デバイスがありません

linux ubuntu usb virtual-machine virtualbox

Oracle VirtualBoxは、私のシステムに接続されているUSBデバイスを一覧表示/フィルタリングすることができません。その結果、ゲストOSもUSBデバイスを見ることができません

これが私の設定です

  • ホスト。Ubuntu 14.04上のVirtualBox 5.0.0 r101573、Oracle VM VirtualBox Extension Packがインストールされています
  • ゲストです。Windows 7、VirtualBox Guest Additionsをインストールしています

USBフラッシュドライブとGarminスポーツウォッチで試してみました: ホストに接続すると、両方ともシステムに認識されます

しかし、VirtualBoxを実行すると、実際にはUSBデバイスは検出されません(Enable USB Controllerは明らかにチェックが入っています)。VMを選択して、Settings -> USBでフィルタを追加しようとすると、ツールチップが表示されてしまいます

<no devices available>

私はUSBコントローラとして異なるオプションを試してみました、異なるUSBポート(3.0の代わりに2.0)にデバイスをアタッチしようとさえしましたが、それは何も変わりませんでした。USBデバイスはそこにリストされていないので、私は問題はゲストではなく、ホストであると仮定します

私が持っているUSBマウスはホストとゲストの両方で動作していますが、それはおそらく別のデバイスとして扱われているのでしょう

VBox.logではUSBに関する不審な点は報告されておらず、VirtualBoxもエラーは出ていません

VirtualBox 4.3.30をインストールしたときも同じ問題が発生しました

解決する方法はありますか?

  94  mguassa  2015-08-13


ベストアンサー

このコマンドでvboxusersグループにユーザー名を追加してください

sudo adduser $USER vboxusers

その後、ログアウトしてログインする必要があります

詳しくはこちらをチェックしてみてください

VirtualBox/USB - Community Help Wiki

163  csorig  2015-08-15


adduserコマンドを持っていない場合は、代わりにこれを行うことができます

sudo usermod -aG vboxusers $USER

ユーザーのグループ情報をリロードするためにログアウトして再度ログインすると、USBデバイスがリストに表示されるようになりました

21  Babken Vardanyan  2018-02-15


まず、@csorigさんの回答が正解です。vboxusersのグループに入る必要があります。これが基本です

それでも何かの理由で動かない場合…どこにも文書化されていないのですが、システムがinotifyのリソースを使い切ってしまった場合、USBホストデバイスの共有がうまくいかないことがわかりました

tail -f /var/log/syslogなどを実行してみてください。のようなメッセージが表示されたら

tail: inotify cannot be used, reverting to polling: Too many open files

の場合は、inotifyのウォッチリミットを上げるか、それらを消費するソフトウェアを無効にする必要があります。私の場合は、バックグラウンドで実行されている継続的なバックアップソフトでした

この限界値を上げるための基本的な方法は

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

4  kFYatek  2017-12-12


USBをゲストに共有していると、いろいろとうまくいかないことがあります。いずれにしても、私がやったチェックリストは

  • ホストにExtension Packを、ゲストにGuest Additionsをインストールします
  • 現在のユーザをvboxusersグループに追加する
  • VirtualBoxの設定で対応するUSB filterを手動で追加し、ゲストOSの起動が終了してからデバイスを接続してください
  • VirtualBox の下で USB 3.0 (xHCI) Controler を選択します

最初の試みに失敗した後、Linux Mint 19ホスト上のWindows XPゲストにUSBスティックを共有することに成功しました。頑張ってください

3  Henrique de Sousa  2019-02-04


数多くの検索の後、私はこのwikiからbelow scriptの助けを借りて問題を解決しました

#!/bin/bash

#
# Heavily inspired by https://github.com/dnschneid/crouton/wiki/VirtualBox-udev-integration
#

vbox_usbnode_path=$(find / -name VBoxCreateUSBNode.sh 2> /dev/null | head -n 1)
if [[ -z $vbox_usbnode_path ]]; then
echo Warning: VBoxCreateUSBNode.sh file has not been found.
exit 1
fi

chmod 755 $vbox_usbnode_path
chown root:root $vbox_usbnode_path

vboxusers_gid=$(getent group vboxusers | awk -F: '{printf "%d\n", $3}')

vbox_rules="SUBSYSTEM==\"usb_device\", ACTION==\"add\", RUN+=\"$vbox_usbnode_path \$major \$minor \$attr{bDeviceClass} $vboxusers_gid\"
SUBSYSTEM==\"usb\", ACTION==\"add\", ENV{DEVTYPE}==\"usb_device\", RUN+=\"$vbox_usbnode_path \$major \$minor \$attr{bDeviceClass} $vboxusers_gid\"
SUBSYSTEM==\"usb_device\", ACTION==\"remove\", RUN+=\"$vbox_usbnode_path --remove \$major \$minor\"
SUBSYSTEM==\"usb\", ACTION==\"remove\", ENV{DEVTYPE}==\"usb_device\", RUN+=\"$vbox_usbnode_path --remove \$major \$minor\""

echo "$vbox_rules" > /etc/udev/rules.d/virtualbox.rules
rm -f /etc/udev/rules.d/*-virtualbox.rules
udevadm control --reload
adduser `logname` vboxusers

echo All actions succeeded.
echo Log out and log in to see if the issue go fixed.

VM VirtualBox Extension Packがインストールされ、VMのUSB設定でUSB 2.0 (EHCI)コントローラが少なくとも有効になっていることを確認してください

これらの後、sudoで上記のスクリプトを実行します

2  gon1332  2019-12-10


面白いことに、/etc/group の最後の行に vboxusers があったときも失敗しました!

前の行でパームーブしただけで、動作するようになりました。もしかしたら、/etc/groups の最後に空行を追加しただけかもしれませんが、確認していません

0  MoonCactus  2018-01-10


タイトルとURLをコピーしました