VirtualBox USB 加密狗直通:設定與修復

插在 VirtualBox 主機上的 USB 加密狗,不一定會自行出現在來賓系統中。VirtualBox 只有在 VM 啟用 USB 控制器,且透過 USB 篩選器告訴它要擷取哪個裝置之後,才會將加密狗進行穿透。在此之前,主機作業系統往往會先抓走加密狗,最常見於驅動程式更新、VirtualBox 升級或 macOS 安全性提示之後。

下方是 Windows、macOS 與 Linux 主機的原生穿透設定方式、當加密狗仍拒絕附加時要做的檢查,以及在何種情況下,Donglify 會成為連線到另一台實體機器上的授權加密狗時更好的選擇。

在原生直通與 Donglify 之間進行選擇

當加密狗與 VirtualBox 共享同一台機器時,選擇原生 passthrough。當加密狗位於網路上的其他地方時,選擇 Donglify。

情境 最佳選項
加密鎖插在與 VirtualBox 相同的實體機器上 原生直通。不需要額外軟體或網路連線。
加密鎖在另一台電腦、另一個辦公室,或伺服器機櫃中 透過區域網路或網際網路使用 Donglify。雙方都需要可上網以進行帳號驗證。
你使用 VirtualBox 7.x 不需要 Extension Pack 也能使用原生 USB 2.0 與 3.0 直通。
多台 VM 需要同時使用同一個加密鎖 使用 Donglify,但僅限於支援多重連線的加密鎖,且軟體授權允許並行使用的情況。

設定原生 USB 直通功能

原生直通需要兩樣東西:在 VM 上啟用 USB 控制器,以及用來攔截加密狗的 USB 篩選器。

在 VirtualBox 7.0 及更新版本中,USB 2.0 與 USB 3.0 控制器支援已隨基礎套件提供—不需要 Extension Pack。在 6.x 與更舊版本上,請安裝與你的 VirtualBox 精確版本相符的 Extension Pack。注意:有些 Extension Pack 中繼資料(VBoxManage list extpacks)在 7.x 組建上仍列出「USB 2.0 and USB 3.0 Host Controller」作為功能—這是殘留的描述字串,不是真正的需求。在 7.x 中,Extension Pack 只在需要 VRDP、網路攝影機直通、磁碟加密與 PXE 開機 ROM 時才需要。

啟用 USB 控制器

  1. 將 VM 關機。
  2. 開啟 VM 設定 > USB,啟用 USB 控制器。
  3. 對於現代客體選擇 USB 3.0(xHCI)或在客體較舊、或加密狗在 xHCI 下不穩定時選擇 USB 2.0(EHCI)
  4. 儲存。

 

建立 USB 篩選器

  1. 將加密狗接到主機。
  2. 開啟 VM 設定 > USB,點擊新增 USB 篩選器,並選取加密狗。
  3. 除非你需要區分相同的加密狗,否則只保留名稱、Vendor ID 與 Product ID。
  4. 拔除加密狗,啟動 VM,等待客體完成開機,然後再把加密狗插回去。VirtualBox 會擷取它並將其傳遞給客體。

 

尋找 Vendor/Product ID: Windows — 裝置管理員 > 內容 > 詳細資料 > 硬體識別碼(VID_xxxx/PID_xxxx)macOS — Apple 選單 > 關於這台 Mac > 系統報告 > USB(在 Apple silicon 上請核准配件提示)Linux — lsusb;另外把你的使用者加入 vboxusers 群組,並在測試前登出/登入。

為什麼轉接器仍然無法連接

症狀 原因 修正
已設定篩選器,但加密狗仍未被擷取;出現如 UUID is busy with a previous request or E_INVALIDARG (0x80070057) 的錯誤 主機作業系統、授權管理程式或其他應用程式已先行占用加密狗 在主機上執行 VBoxManage list usbhost。若顯示 Busy/Unavailable,請關閉占用它的軟體—退出儲存裝置,或關閉用於 HID/智慧卡/廠商專用加密狗的供應商授權服務。拔除加密狗、啟動 VM,並僅在開機後再重新接上。
主機可偵測到加密狗,但 VirtualBox 看不到它(Linux) 使用者未加入 vboxusers 群組 將使用者加入 vboxusers,然後登出/登入或重新開機。
VirtualBox 本身無法啟動,或 USB 悄然失敗(macOS) 系統安全性封鎖了 VirtualBox 的驅動程式/元件 在 6.x 上,若支援 kext 未被核准,Kernel driver not installed (rc=-1908) 錯誤會使 VM 完全無法啟動—這是整體 VM 的問題,不是 USB 專屬,但若來賓系統無法開機,請先排除它。在 7.x 上,macOS 不再使用核心延伸,因此此錯誤不再適用;被封鎖的元件會以不同方式失敗,通常發生在安裝或首次啟動時。請乾淨重新安裝,在 System Settings > Privacy & Security 下核准提示,並以簡單的 USB 裝置重新測試。
USB 2.0/3.0 裝置完全無法被擷取(僅 6.x) Extension Pack 缺失或版本不相符 File > Preferences > Extensions — 確認 Extension Pack 版本與你的 VirtualBox 版本完全一致。在 7.x 上不適用,因為基本 USB 支援不需要 Extension Pack。
注意: 原生過濾器只能抓到在同一台執行 VirtualBox 的實體電腦上的裝置—同事筆電上的加密鎖、機櫃伺服器裡的,或另一個辦公室的,都無法觸及。VirtualBox 的確透過 VRDE 提供遠端 USB 功能,但它需要 Extension Pack,以及一個明確支援 USB 重新導向的 RDP 用戶端—多數(包含 Windows 內建的 mstsc.exe)都不支援。若要在一般網路上共享授權加密鎖,Donglify 是更通用的選擇。

使用 Donglify 將 Dongle 分享至遠端 VM

Donglify 透過 TCP/IP 移動加密鎖,因此可避開原生直通的同機限制。即使實體加密鎖位於另一台主機上,客體仍會將金鑰視為本機連接的裝置。

Donglify 需要在兩端安裝:持有加密鎖的機器,以及每個連線至它的 VirtualBox 客體。七天試用版涵蓋完整功能集,足以在你正式投入之前,先確認你的加密鎖型號能透過網路正常運作。

如何將 USB 加密狗重新導向至 VirtualBox

  1. 建立 Donglify 帳戶。

2.  在實體連接加密鎖的主機(伺服器)上安裝 Donglify,並在每個連線至該主機的 VirtualBox 客體(用戶端)上安裝。

安裝 Donglify

3.  在伺服器上,啟動 Donglify 並登入。

登入 Donglify

4. 按一下 + 以開啟已連接的 USB 金鑰清單,選取您加密狗旁的單選按鈕,然後按一下「共用」

分享 dongle

5.  在用戶端啟動 Donglify,登入相同帳號,在清單中找到已共享的加密鎖,並按一下「連線」

Donglify 連線

6.  來賓系統內的裝置管理員會將加密狗顯示為本機裝置,且授權應用程式可從 VirtualBox VM 讀取 USB 權杖。

相同的工作流程也適用於其他 Hypervisor。若是 VMware,請依照在 VMware 虛擬機器中使用 USB 加密狗的步驟操作。若是 Microsoft 的 Hypervisor,請參閱在 Hyper-V 虛擬機器中存取 USB 加密狗

Donglify 優勢

原生的 VirtualBox USB 直通僅限於實體連接到 VirtualBox 主機的 USB 裝置。Donglify 透過網路讓 USB 安全加密狗可供虛擬機使用,從而消除這項限制,即使加密狗連接在另一台電腦上也能使用。

存取遠端 USB 加密鎖

加密鎖仍保持插在其原始電腦上,同時在 VirtualBox 來賓系統中顯示為本機連接的 USB 裝置。這讓你可以使用位於另一個辦公室、伺服器機房或同事工作站的授權金鑰,而無需實際移動硬體。

跨平台相容性

Donglify 支援在 Windows 與 macOS 系統之間共享相容的 USB 安全加密狗。針對 Mac 部署,請在共享加密狗的電腦以及連線至其的機器上都安裝目前版本的 Donglify。

專為授權加密鎖打造

與通用型的 USB-over-network 工具不同,Donglify 是專為 USB 安全加密鎖設計的。裝置相容性著重於商用軟體所使用的硬體授權金鑰,而非涵蓋所有 USB 周邊裝置。

網際網路需求

共享加密狗的電腦與 VirtualBox 客體都需要網際網路存取權,才能向您的 Donglify 帳戶進行驗證,即使兩個系統都連線至相同的本機網路也是如此。

常見問題

在大多數情況下,主機作業系統會在篩選器捕捉到它之前先抓住加密狗。執行 VBoxManage list usbhost 並尋找 Busy 或 Unavailable 狀態,確認你在重新插入加密狗之前 VM 已完成開機,並且在 Apple silicon Mac 上確認已在「隱私權與安全性」配件」中允許 VirtualBox。將篩選器精簡為 Vendor ID 和 Product ID 本身就能排除大多數偵測失敗。

不。標準的 USB 2.0 與 USB 3.0 直通在 VirtualBox 7.0 及更新版本中,從基礎安裝即可運作,因為其中已隨附 EHCI 與 xHCI 支援。Extension Pack 仍涵蓋磁碟加密、主機網路攝影機直通、PXE 開機 ROM,以及 VRDP 遠端顯示。任何使用 7.0 之前版本的人,都需要它才能獲得超出 USB 1.1 的任何 USB 支援。

可以,透過像 Donglify 這樣的網路重新導向工具。原生直通只會連到同一台實體機器上的裝置。Donglify 需要安裝在插著加密狗的電腦上以及來賓作業系統內,而不只是安裝在 VirtualBox 主機上,因為對 USB 而言,主機與來賓被視為不同的作業系統。一旦連線建立,來賓就會像看到本機擷取的裝置一樣看到加密狗。

不是透過原生的 VirtualBox 直通。它會將已捕獲的裝置鎖定給單一來賓或主機使用,絕不會同時供多個使用。Donglify 在具有明確多重連線支援的加密狗型號上,支援多 VM 同時存取,這些型號列於其裝置相容性文件中。不在支援清單內的加密狗仍維持單一連線,無論由哪個工具負責分享。