mgu*_*ssa 119 linux usb virtualbox virtual-machine ubuntu
Oracle VirtualBox 无法列出/过滤连接到我的系统的 USB 设备。因此,客户操作系统也无法看到任何 USB 设备。
这是我的配置:
我一直在用U盘和Garmin运动手表试过:当连接到主机时,它们都被系统识别,即它们在lsusb命令输出的列表中。
但是,在运行 VirtualBox 时,实际上未检测到 USB 设备(Enable USB Controller显然已选中)。如果我选择 VM,然后Settings->USB并尝试添加过滤器,则会显示工具提示:
<no devices available>
Run Code Online (Sandbox Code Playgroud)
我尝试了不同的选项作为 USB 控制器,甚至尝试将设备连接到不同的 USB 端口(2.0 而不是 3.0),但这并没有改变任何东西。由于那里没有列出 USB 设备,我认为问题出在主机上,而不是在来宾上。
我拥有的 USB 鼠标在主机和来宾中都可以使用,但这可能是一种被区别对待的设备。
该VBox.log不报告关于USB什么可疑的东西,而VirtualBox的不要么抛出任何错误。
当我安装 VirtualBox 4.3.30 时发生了同样的问题。
有没有办法解决这个问题?
小智 199
请vboxusers使用以下命令将您的用户名添加到组中:
sudo adduser $USER vboxusers
Run Code Online (Sandbox Code Playgroud)
之后,您必须注销并登录。(对于 Ubuntu 20.04,需要重启)
请检查此以获取更多详细信息:
https://help.ubuntu.com/community/VirtualBox/USB
Bab*_*yan 28
如果您没有该adduser命令,则可以改为执行以下操作:
sudo usermod -aG vboxusers $USER
Run Code Online (Sandbox Code Playgroud)
注销并再次登录以重新加载用户的组信息,USB 设备现在将显示在列表中。
Hen*_*usa 13
与访客共享 USB 时,可能会出现很多问题。无论如何,我所做的清单是:
Extension Pack在主机和Guest Additions来宾上安装。vboxusers组中。USB filter在 VirtualBox 设置中手动添加相应的设置,并仅在完成启动来宾操作系统后连接设备。USB 3.0 (xHCI) Controler,如果不起作用,则继续使用USB 2.0 Controller.经过一些最初的失败尝试后,我已成功地与 Linux Mint 19主机上的 Windows XP客户机共享 USB 记忆棒。祝你好运 !
gon*_*332 10
经过多次搜索后,我在这个 wiki的帮助下得出了解决问题的以下脚本的结论:
#!/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.
Run Code Online (Sandbox Code Playgroud)
确保安装了VM VirtualBox 扩展包,并且至少在 VM 的 USB 设置中启用了 USB 2.0 (EHCI) 控制器。
满足这些要求后,使用 运行上述脚本sudo。
您可能需要重新启动 Linux 机器。
首先,@csorig 的回答是正确的。你需要在vboxusers组里。这是基本的。
但是,如果它出于任何原因仍然不起作用......它没有在任何地方记录,但我发现如果系统inotify资源耗尽,USB 主机设备共享不起作用。
你可以试试跑步之tail -f /var/log/syslog类的。如果它显示如下消息:
tail: inotify cannot be used, reverting to polling: Too many open files
Run Code Online (Sandbox Code Playgroud)
那么您需要增加您的inotify观看限制或禁用消耗它们的软件。就我而言,它是一个在后台运行的连续备份软件。
增加这个限制的基本方法是:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
148109 次 |
| 最近记录: |