我在 Ubuntu PC 上运行 VirutalBox,系统为 Windows 8.1。
我想使用 AverMedia LGP Lite USB 采集卡,但找不到任何 Linux 驱动程序,所以我想知道是否可以在 VM 上使用它。
到目前为止,Guest 检测到了我的 USB 设备,但当我尝试安装驱动程序时,它显示
无法更新即插即用设备的驱动程序
我谷歌了一下,据我所知,虚拟机与任何硬件都没有连接。VirtualBox 虚拟化了所有硬件,我猜是使用主机系统上安装的驱动程序?
那么,这是否意味着,如果主机系统上没有驱动程序,它就无法在客户系统中工作?
没有任何办法可以在客户操作系统上使用或安装驱动程序吗?
所以也许唯一的方法是使用 Windows 双启动?
答案1
您需要使用直通功能将硬件直接重定向至您的客户机。
过去我使用过主机不支持但客户操作系统支持的硬件。这是一台旧扫描仪,由于缺少 Windows 7 驱动程序,它无法在 Windows 7 上运行。但它可以在 Windows XP 客户机上运行。因此,您的问题的答案是:
那么,这是否意味着,如果主机系统上没有驱动程序,它就无法在客户系统中工作?
不。如果客户系统支持的话,它可以在客户系统中运行。
以下是一般情况指示:
USB 过滤器是一系列“AND”条件语句。因此,当您填写过滤器值时,您是在告诉过滤器:
捕获具有此 VendorID、AND 此 ProductID 的设备,AND ...
空白过滤器(不推荐!)将匹配任何内容,如果设备显示为复合设备,即同时连接多个不同的设备,则这很好。但是,空白过滤器的危险在于可能会抓取错误的设备,例如,您不想抓取主机的 USB 键盘并将其分配给客户机!如果您遇到抓取错误设备的问题,则只需向过滤器添加足够的信息,使其仅匹配您的设备。但不要将过滤器定义得太窄,因为这也会导致问题。这就是为什么对于基本过滤器,最安全的做法是仅填写 VendorID 和 ProductID。使用过滤器捕获 USB 设备的正确清单是:
确保扩展包 (ExtPack) 已安装在主机上。ExtPack 必须与主 VirtualBox 程序的版本相同。ExtPack 与 Guest Additions 不同!ExtPack 安装在主机上,并增加了对虚拟 USB2 主机控制器的支持。VirtualBox 5.xx 还添加了 USB3 (xHCI) 支持。
确保在虚拟机设置中至少启用了 USB2 (EHCI)。如果您的客户端支持 USB3 (xHCI),请使用它。请参阅下面的“客户端支持”。需要注意的是,如果您的客户端支持 USB3,您一定要启用它,即使您的主机在硬件或软件层面不支持 USB3,这主要是因为与 USB1 和 USB2 相比,USB3 堆栈的设计要好得多。
在下面虚拟机设置 » 端口 » USB,在设备插入主机时,在客户机设置中创建一个 USB 过滤器。删除除以下值之外的所有值名称、供应商 ID 和产品 ID。Name 只不过是一个标签,并不主动参与过滤过程。你可以随意更改它。我通常使用“Stick: XYZ”或“Joystick: ABC”或“Other: IJK”。
拔下设备插头。
启动您的客户端(您应用了过滤器的客户端)。让它完全启动。如果需要,请登录,进入桌面,然后等待任何磁盘活动停止。
插入您的设备。过滤器应捕获它并将控制权传递给您的客户机。
您可以在参考页面上找到故障排除信息。如果一般信息没有帮助,请阅读全文并应用建议。