过去,由于使用某些使用 USB 加密狗进行授权的软件,我经常使用 VirtualBox 中的 USB 捕获选项。我有一台新笔记本电脑(与我的旧机器相同的操作系统 - Windows 7),无法让 USB 捕获在任何设备上工作。
我正在使用普通的 USB 拇指驱动器进行故障排除。VirtualBox 实际上声称已捕获该设备,但客户操作系统(也是 Windows 7)无法识别它。此外,VirtualBox 菜单Devices -> USB
没有显示所谓捕获设备旁边的复选框。它在主机操作系统中不可见,因此它至少部分正常工作。
我已经更新到 v.5.1.8,安装了扩展包/客户添加项,还尝试为该设备创建一个 USB 过滤器(过去我可以从菜单中选择它来Devices -> USB
根据需要捕获/释放它),但没有什么能解决问题。
最后一点——无法从虚拟机中释放已捕获(但不可见)的设备。在Devices -> USB
菜单中单击它会打开一个错误对话框,提示该设备“正在处理先前的请求。请稍后重试。”
更多信息:我还发现,即使设备已从主机中移除并重新启动虚拟机,VirtualBox 仍会继续声称设备已被捕获。看来,清除它的唯一方法是重新启动主机。
答案1
解决方案(在本例中)在此找到VirtualBox 论坛帖子。还有相同步骤的略微扩展版本对该帖子的回复。该问题早在 2009 年就被发现VirtualBox 缺陷 #5343。
步骤如下:
编辑您的注册表
- 打开 Windows 注册表,单击
Start
>Run
并输入regedit
- 导航
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class{36FC9E60-C465-11CF-8056-444553540000}
- 在右侧面板中,如果该
UpperFilters
条目存在,则将其删除
- 打开 Windows 注册表,单击
手动安装 VirtualBox USB 驱动程序
- 转至文件夹
C:\Program Files\Oracle\VirtualBox\drivers\USB\filter
- 右键单击
VboxUSBMon.inf
- 点击
Install
- 转至文件夹
重新启动主机
拔下你的 USB 设备(我在重启之前就这么做了)
打开 VirtualBox 并关闭它(从 VM 的捕获列表中删除 USB 设备)
插入 USB 设备
打开 VirtualBox 并运行虚拟机。
右键单击 VM 状态栏 USB 图标,然后选择要连接到 VM 的 USB 设备(或从
Devices
>USB
列表中选择)
VirtualBox 论坛帖子还包含一条警告,警告不要在未先捕获 USB 桥接器的情况下连接连接到 USB 桥接器的 USB 设备。我曾成功使用通过外部 USB 集线器连接的设备,而没有捕获任何其他设备,但请注意,这可能会带来问题。