VirtualBox USB 加密狗直通:设置与修复

插入 VirtualBox 主机的 USB 加密狗并不总会自动出现在来宾系统中。只有在虚拟机启用了 USB 控制器,并且 USB 过滤器告知 VirtualBox 要捕获哪一台设备后,VirtualBox 才会将加密狗直通到来宾系统。在此之前,主机操作系统通常会先抓取加密狗,最常见于驱动更新、VirtualBox 升级或 macOS 安全提示之后。

下面介绍 Windows、macOS 和 Linux 主机的原生直通设置、当加密狗仍拒绝连接时要运行的检查项,以及在何时 Donglify 会成为访问另一台物理机器上的许可加密狗的更佳选择。

在原生直通和 Donglify 之间选择

当加密狗和 VirtualBox 共享同一台机器时,选择原生直通。当加密狗位于网络中的其他位置时,选择 Donglify。

情况 最佳选项
加密狗插在与 VirtualBox 相同的物理机器上 原生直通。无需额外软件或互联网连接。
加密狗在另一台电脑上、另一个办公室,或在服务器机架中 通过局域网或互联网使用 Donglify。两端都需要互联网访问以进行账户认证。
你使用 VirtualBox 7.x 无需扩展包即可使用原生 USB 2.0 和 3.0 直通。
多台虚拟机需要同时使用同一个加密狗 Donglify,但仅适用于支持多连接的加密狗,并且软件许可允许并发使用的情况下。

设置原生 USB 直通

原生直通需要两样东西:在虚拟机中启用 USB 控制器,以及一个用于捕获加密狗的 USB 过滤器。

在 VirtualBox 7.0 及更高版本中,USB 2.0 和 USB 3.0 控制器支持已随基础包提供—不需要扩展包。在 6.x 及更早版本中,请安装与你的 VirtualBox 版本完全匹配的扩展包。注意:某些扩展包元数据(VBoxManage list extpacks)仍将“USB 2.0 和 USB 3.0 主机控制器”列为 7.x 构建中的一项功能—这只是遗留的描述字符串,并非真实需求。在 7.x 中,扩展包仅用于 VRDP、摄像头直通、磁盘加密和 PXE 启动 ROM。

启用 USB 控制器

  1. 关闭虚拟机电源。
  2. 打开 虚拟机设置 > USB,启用 USB 控制器。
  3. 对于现代客户机请选择 USB 3.0(xHCI)如果客户机较旧或加密狗在 xHCI 下不稳定,则选择 USB 2.0(EHCI)
  4. 保存。

 

创建 USB 过滤器

  1. 将加密狗连接到宿主机。
  2. 打开 虚拟机设置 > USB,点击 添加 USB 过滤器,并选择该加密狗。
  3. 除非你需要区分相同的加密狗,否则只保留 名称、厂商 ID 和产品 ID。
  4. 拔下加密狗,启动虚拟机,等待客户机完成启动,然后再把加密狗插回去。VirtualBox 会捕获它并将其传递给客户机。

 

查找厂商/产品 ID: Windows — 设备管理器 > 属性 > 详细信息 > 硬件 ID(VID_xxxx/PID_xxxx)macOS — Apple 菜单 > 关于本机 > 系统报告 > USB(在 Apple 芯片上批准配件提示)Linux — lsusb;另外将你的用户添加到 vboxusers 组,并在测试前注销/重新登录。

为什么加密狗仍然无法连接

症状 原因 解决方法
已设置过滤器,但仍未捕获加密狗;出现类似 UUID 正忙于先前请求或 E_INVALIDARG (0x80070057) 的错误 宿主机操作系统、许可证管理器或其他应用已占用该加密狗 在宿主机上运行 VBoxManage list usbhost。如果显示 Busy/Unavailable,关闭占用它的软件—弹出存储设备,或关闭用于 HID/智能卡/厂商特定加密狗的厂商许可证服务。拔下设备,启动虚拟机,仅在引导完成后再重新插入。
宿主机能检测到加密狗,但 VirtualBox 看不到它(Linux) 用户不在 vboxusers 组中 将用户加入 vboxusers,然后注销/重新登录或重启。
VirtualBox 本身无法启动,或 USB 静默失败(macOS) 系统安全机制阻止了 VirtualBox 的驱动/组件 在 6.x 上,当支持 kext 未获批准时,Kernel driver not installed (rc=-1908) 错误会阻止虚拟机完全无法启动—这是整台虚拟机的问题,不是仅 USB 的问题,但如果来宾系统无法引导,应先排除它。在 7.x 上,macOS 不再使用内核扩展,因此该错误不再适用;被阻止的组件会以不同方式失败,通常发生在安装或首次启动时。干净重装,在“系统设置 > 隐私与安全性”下批准提示,然后用一个简单的 USB 设备重新测试。
USB 2.0/3.0 设备完全无法被捕获(仅 6.x) Extension Pack 缺失或版本不匹配 文件 > 首选项 > 扩展 — 确认 Extension Pack 版本与您的 VirtualBox 版本完全一致。在 7.x 上不适用,因为基础 USB 支持不需要 Extension Pack。
注意: 原生筛选器只能捕获在同一台运行 VirtualBox 的物理计算机上的设备—同事笔记本上的加密狗、机架服务器里或另一间办公室里的设备都无法触及。VirtualBox 确实通过 VRDE 提供远程 USB 功能,但它需要 Extension Pack,以及一个专门支持 USB 重定向的 RDP 客户端—大多数(包括 Windows 内置的 mstsc.exe)都不支持。要在普通网络上共享许可证加密狗,Donglify 是更通用的选择。

使用 Donglify 将加密狗共享到远程 VM

Donglify 通过 TCP/IP 移动加密狗,因此它绕开了原生直通的同机限制。即使物理加密狗插在另一台主机上,客户机也会将密钥识别为本地连接的设备。这实际上就是任何获授权的 VirtualBox 客户机都可按需访问的 虚拟加密狗。

Donglify 需要在两端安装:插有加密狗的机器以及每台连接到它的 VirtualBox 客户机。七天试用涵盖完整功能集,足以在你做出决定前确认你的加密狗型号能通过网络正常工作。

如何将 USB 加密狗重定向到 VirtualBox

  1. 创建一个 Donglify 账户。

2.  在物理连接了加密狗的主机(服务器)上以及每个连接到它的 VirtualBox 客户机(客户端)上安装 Donglify。

安装 Donglify

3.  在服务器上,启动 Donglify 并登录。

登录 Donglify

4.  单击 + 打开已连接的 USB 密钥列表,选择与您的加密狗相邻的单选按钮,然后单击“共享”

共享加密狗

5.  在客户端上,启动 Donglify,登录同一账户,在列表中找到共享的加密狗,然后点击“连接”

Donglify 连接

6.  来宾系统内的设备管理器将加密狗显示为本地设备,并且授权应用程序从 VirtualBox 虚拟机读取 USB 令牌。

同样的工作流程也适用于其他虚拟机监控程序。对于 VMware,请按照在 VMware 虚拟机中使用 USB 加密狗的步骤操作。对于 Microsoft 的虚拟机监控程序,请参阅在 Hyper-V 虚拟机中访问 USB 加密狗。

Donglify 优势

原生 VirtualBox USB 直通仅限于物理连接到 VirtualBox 主机的 USB 设备。Donglify 通过使 USB 安全加密狗可通过网络提供给虚拟机来消除这一限制,即使加密狗连接在另一台计算机上也是如此。

访问远程 USB 加密狗

加密狗始终插在其原始计算机上,同时在 VirtualBox 来宾系统中显示为本地连接的 USB 设备。这使您无需实际移动硬件,就能使用位于另一间办公室、机房或同事工作站上的许可证密钥。

跨平台兼容性

Donglify 支持在 Windows 和 macOS 系统之间共享兼容的 USB 安全加密狗。对于 Mac 部署,请在共享加密狗的计算机和连接到它的机器上都安装当前版本的 Donglify。

专为许可证加密狗打造

与通用的 USB 网络共享工具不同,Donglify 专为 USB 安全加密狗而设计。设备兼容性侧重于商用软件使用的硬件许可密钥,而非覆盖全部 USB 外设范围。若要更全面地了解它与其他 加密狗共享软件 的对比,请参阅我们的软件汇总。

互联网要求

共享加密狗的计算机和 VirtualBox 客户机都需要访问互联网以通过你的 Donglify 账户进行身份验证,即使两个系统连接到同一局域网也是如此。

常见问题

在大多数情况下,宿主操作系统会在过滤器捕获加密狗之前先抓取它。运行 VBoxManage list usbhost并查找 Busy 或 Unavailable 状态,确认在你重新插入加密狗之前虚拟机已完成启动,并且在 Apple silicon Mac 上确认在“隐私与安全”配件”中允许 VirtualBox。将过滤器缩减为 Vendor ID 和 Product ID 本身就能解决大多数检测失败。

不需要。自 VirtualBox 7.0 及更高版本的基础安装开始,标准 USB 2.0 和 USB 3.0 直通即可正常工作,因为其中已包含 EHCI 和 xHCI 支持。扩展包仍涵盖磁盘加密、主机网络摄像头直通、PXE 启动 ROM 以及 VRDP 远程显示。任何使用 7.0 之前版本的人,如需超出 USB 1.1 的任何 USB 支持,都需要它。

是的,可以通过像 Donglify 这样的网络重定向工具。原生直通只能连接到同一台物理机器上的设备。Donglify 需要安装在插有加密狗的电脑上以及来宾操作系统内,而不仅仅安装在 VirtualBox 主机上,因为对于 USB 来说,主机和来宾算作两个独立的操作系统。一旦连接建立,来宾就会像看到本地捕获的设备一样看到加密狗。

无法通过原生的 VirtualBox 直通来实现。它会将已捕获的设备锁定给单个来宾或主机,绝不会同时给多个。Donglify 在其设备兼容性文档中列出的、明确支持多重连接的加密狗型号上,支持多台 VM 同时访问。不在支持列表中的加密狗仍然只能单连接,无论由哪个工具来管理共享。