我有一个 Ubuntu 16.04 系统和一个来自我之前电脑的 Win 7 vdi。我第一次安装 Virtual Box 时安装了 5.0.4.24。我安装了相同版本的扩展和客户机添加项。除了 USB,虚拟机中的一切都正常工作。我尝试了 2.0 和 3.0,但两种更改都没有帮助。我在 Google 上搜索了一下,发现我需要将我的用户添加到 vboxusers 组。我这样做了。现在我可以在设备列表中看到 USB 设备,但它们没有安装在我的虚拟机上。我还需要做什么?
更新 1:我要补充的是,并非所有 USB 设备都这样,因为我的鼠标和键盘仍能正常工作,但任何存储设备(4 个不同品牌的拇指驱动器和 1 个外部硬盘)都无法被识别。更奇怪的是,当 VM 在我的旧机器上时,至少有 2 个拇指驱动器和外部驱动器可以正常工作。
更新 2:我没有提到,在我尝试添加 vboxusers 组之后,我将所有内容更新到 5.1 Virtualbox,但它仍然不起作用。
更新 3:我尝试了克劳德的解决方案,但没有效果。
我怀疑我的虚拟机不知何故损坏了,所以我启动了另一台虚拟机(这次是 Windows 10),USB 上的所有东西都可以正常工作。我一直在慢慢迁移我的所有文件并在新虚拟机上重新安装应用程序。
答案1
如果您还没有找到解决方案。我在使用 Ubuntu 16.04 作为主机和 XP 作为客户机时遇到了同样的问题。所有已知的解决方案都无法解决这个问题。我在本页的最后找到了正确的线索: https://bugs.launchpad.net/ubuntu/+source/virtualbox/+bug/1576768 这让我想到了这篇文章: https://phobosk.wordpress.com/2012/11/11/howto-fix-a-virtualbox-failed-to-access-the-usb-subsystem-error/
总结一下,原因是inotify对max_user_watches的限制太低了。
解决方法:首先,将以下几行添加到 /etc/sysctl.conf
fs.inotify.max_user_instances = 256<br />
fs.inotify.max_user_watches = 16384<br />
fs.inotify.max_queued_events = 32768<br />
然后重新启动 procps使用命令使更改生效:
sudo service procps restart
就这样!
答案2
您可以在两个地方启用 USB 设备。
在您的客户操作系统中,转到设备菜单,然后选择 USB。在现有的 USB 设备列表中,选择要连接的设备,这将在该设备名称前面打勾。然后,Windows 将根据需要为该设备安装驱动程序。
在您的客户操作系统的主设置中(如果客户操作系统已关闭),您可以选择 USB,并且在那里显示的 USB 设备列表中,您选中的任何框都会在客户操作系统启动时自动连接。
请记住,只要虚拟机正在运行,任何连接到客户操作系统的 USB 设备都将无法供主机操作系统使用。
如果您还有其他问题,请提问。谢谢,Al
答案3
我在安装了 Virtualbox 5.1/5.2 的 Windows 7 主机上的 Fedora 26/27 上遇到了这个问题。问题出在 Windows“UpperFilter”USB 驱动程序和 Virtualbox(与客户操作系统无关;适用于任何 Linux 发行版),这显然是众所周知的早在7年前。如果其他 USB 解决方案都不起作用,希望这个对你有用。请参阅下面的解决方案
例子:
- 从设备 -> USB -> USB 驱动器中选择设备
- 什么都没发生
- 再次检查设备 -> USB 菜单,USB 驱动器未被勾选,但显示“已捕获”
- 但是,将鼠标悬停在右下角的 USB 图标上时会显示“没有设备”
- 检查
VBoxManage.exe list usbhost
主机显示 USB 设备 +“已捕获” - 但虚拟机什么也没看到
- 尝试再次添加设备(通过设备 -> USB 菜单)时出现“忙于处理上一个请求”错误
其他线程提供的解决方案无效:
- 成功安装了来宾添加功能(例如共享文件夹工作(将自己加入
vboxsf
组)) - 没有
vboxusers
群组,我自己创建群组(根据一些帖子的建议)并添加我自己,没有任何效果 - 尝试使用 USB 过滤器(空白过滤器和设备过滤器)
- 安装了扩展包,在机器设置中尝试了默认(1.0)、2.0 和 3.0 USB
- 尝试了 USB 3.0 和 2.0 设备与 3.0 和 2.0 端口的所有 4 种组合(Virtualbox 从版本 5 IIRC 开始支持 USB 3.0)
解决方案
在此 virtualbox 错误报告的第 21 条和第 26 条评论中找到了解决方案:https://www.virtualbox.org/ticket/3033#comment:21
社区中有几条评论称 VirtualBox USB 支持不适用于安装在 Windows 主机上的上层过滤驱动程序。
- kepler2 7 年前
释义 nayasis 的解决方案https://forums.virtualbox.org/viewtopic.php?f=6&t=39104:
- 编辑注册表:打开
regedit.exe
(在开始菜单中搜索),然后找到HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{36FC9E60-C465-11CF-8056-444553540000}
(单击它) - 删除
UpperFilters
右侧条目 - 可能手动重新运行 Virtualbox 驱动程序:转到
C:\Program Files\Oracle\VirtualBox\drivers\USB\filter
,右键单击VboxUSBMon.inf
并“安装”(我这样做是为了安全,但我不确定是否有必要;似乎有些人只需要删除注册表项)- 此 Windows 线程建议也删除
LowerFilters
条目(如果存在)。我没有LowerFilters
- 此 Windows 线程建议也删除
- 关闭虚拟机,删除所有过滤器
- 重启
- 插入 USB,启动虚拟机,希望您现在可以添加 USB。据我所知,过滤器仅在自动添加 USB 设备时才有必要。它不会影响您是否可以成功添加设备
发现所有其他解决方案都不是这里的问题,真是令人沮丧。希望这对将来的人们有所帮助!