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
その後、ログアウトしてログインする必要があります
詳しくはこちらをチェックしてみてください
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