VirtualBox USBドングルのパススルー: セットアップと修正

VirtualBox ホストに接続した USB ドングルは、常に自動的にゲスト内に表示されるとは限りません。VirtualBox がドングルをパススルーするのは、VM で USB コントローラーが有効になっていて、かつ USB フィルターでどのデバイスを取り込むかが指定されている場合のみです。それまでは、ホスト OS が先にドングルを掴んでしまうことが多く、特にドライバー更新、VirtualBox のアップグレード、または macOS のセキュリティプロンプトの後によく起こります。

以下では、Windows・macOS・Linux ホスト向けのネイティブなパススルー設定、ドングルがそれでもアタッチされない場合に行うチェック、そして別の物理マシン上のライセンスドングルにアクセスするために Donglify がより良い選択肢となるタイミングを説明します。

ネイティブパススルーとDonglifyのどちらを選ぶか

ドングルとVirtualBoxが同じマシンを共有している場合はネイティブパススルーを選択してください。ドングルがネットワーク上の別の場所にある場合はDonglifyを選択してください。

状況 最適な選択肢
ドングルがVirtualBoxと同じ物理マシンに接続されている ネイティブパススルー。追加ソフトやインターネット接続は不要。
ドングルが別のコンピューター、別オフィス、またはサーバーラックにある LANまたはインターネット経由のDonglify。双方でアカウント認証のためにインターネットアクセスが必要。
VirtualBox 7.xを使用している 拡張パックなしでネイティブのUSB 2.0および3.0パススルーが動作する。
複数のVMが同時に同じドングルを必要とする Donglify。ただし、対応するマルチ接続ドングルであり、かつソフトウェアライセンスが同時利用を許可している場合に限る。

ネイティブUSBパススルーのセットアップ

ネイティブのパススルーには2つ必要です。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. 同一のドングルを見分ける必要がない限り、名前、ベンダーID、プロダクトIDだけを残します。
  4. ドングルを抜き、VMを起動し、ゲストの起動完了を待ってから、ドングルを挿し直します。VirtualBoxがそれを捕捉してゲストに渡します。

 

ベンダー/プロダクトIDの確認: Windows — デバイス マネージャー > プロパティ > 詳細 > ハードウェア ID(VID_xxxx/PID_xxxx)macOS — Appleメニュー > このMacについて > システムレポート > USB(Appleシリコンではアクセサリのプロンプトを承認)Linux — lsusb;また、ユーザーをvboxusersグループに追加し、テスト前にログアウト/ログインしてください。

なぜドングルはいまだに取り付けられないのか

症状 原因 対処
フィルターを設定してもドングルがキャプチャされない。UUID is busy with a previous request or E_INVALIDARG (0x80070057) のようなエラーが出る ホストOS、ライセンスマネージャー、または別のアプリがすでにドングルを占有している ホストで 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 自体がまったく起動できない — USB 固有の問題ではなく VM 全体の問題だが、ゲストがブートしない場合はまずこれを除外する。7.x では macOS はカーネル拡張を使用しないため、このエラーは適用されない。ブロックされたコンポーネントは別の形で失敗し、通常はインストール時または初回起動時に起きる。クリーンに再インストールし、システム設定 > プライバシーとセキュリティ での承認プロンプトに対応し、シンプルな USB デバイスで再テストする。
USB 2.0/3.0 デバイスがまったくキャプチャされない(6.x のみ) Extension Pack がない、または不一致 ファイル > 環境設定 > 拡張機能 — Extension Pack のバージョンが VirtualBox のバージョンと完全に一致していることを確認する。7.x では、基本の USB サポートに Extension Pack は不要のため該当しない。
注記: ネイティブフィルターが捕捉できるのは、VirtualBox を実行している同一の物理コンピューター上のデバイスだけです。 同僚のノートPC、サーバーラック内、または別のオフィスにあるドングルには手が届きません。VirtualBox には VRDE 経由のリモート USB 機能がありますが、Extension Pack と、USB リダイレクトを明示的にサポートする RDP クライアントが必要です — Windows 内蔵の mstsc.exe を含むほとんどのクライアントは対応していません。通常のネットワーク全体でライセンスドングルを共有するなら、より汎用的な選択肢は Donglify です。

Donglify を使ってドングルをリモート VM に共有する

Donglify はドングルを TCP/IP 経由で転送するため、ネイティブのパススルーにある同一マシン制限を回避できます。物理ドングルが別のホストに挿さっていても、ゲストにはキーがローカル接続デバイスとして認識されます。つまり、許可された VirtualBox ゲストが必要に応じてアクセスできる、事実上の 仮想ドングル です。

Donglify は両方の端末にインストールします。ドングルを保持するマシンと、それに接続する各 VirtualBox ゲストです。7 日間の試用版で全機能を利用でき、導入を決める前にネットワーク越しでお使いのドングル機種が動作することを確認するのに十分です。

USBドングルをVirtualBoxにリダイレクトする方法

  1. Donglifyアカウントを作成してください。

2.  ドングルが物理的に接続されているホスト(サーバー)およびそれに接続するすべてのVirtualBoxゲスト(クライアント)にDonglifyをインストールします。

Donglify をインストール

3.  サーバーでDonglifyを起動し、サインインします。

Donglify にサインイン

4.  + をクリックして接続された USB キーの一覧を開き、ドングルの横にあるラジオボタンを選択して、共有]をクリックします。

ドングルを共有

5.  クライアントでDonglifyを起動し、同じアカウントにサインインして、リスト内の共有ドングルを見つけ、接続]をクリックします。

Donglify 接続

6.  ゲスト内のデバイス マネージャーにはドングルがローカル デバイスとして表示され、ライセンスされたアプリケーションはVirtualBox VMからUSBトークンを読み取ります。

同じワークフローは他のハイパーバイザーにも適用されます。VMware については、VMware 仮想マシン内で USB ドングルを使用する方法の手順に従ってください。Microsoft のハイパーバイザーについては、Hyper-V 仮想マシンでの USB ドングルアクセスをご覧ください。

Donglifyのメリット

ネイティブのVirtualBox USBパススルーは、VirtualBoxホストに物理的に接続されたUSBデバイスに限定されています。Donglifyは、USBセキュリティドングルが別のコンピューターに接続されている場合でも、ネットワーク経由で仮想マシンから利用できるようにすることで、その制限を取り除きます。

リモートUSBドングルにアクセス

ドングルは元のコンピューターに接続されたままですが、VirtualBoxゲスト内ではローカルに接続されたUSBデバイスとして表示されます。これにより、別のオフィス、サーバールーム、または同僚のワークステーションにあるライセンスキーを、ハードウェアを物理的に移動することなく使用できます。

クロスプラットフォーム互換性

Donglify は、互換性のある USB セキュリティドングルを Windows と macOS システム間で共有することをサポートしています。Mac への導入では、ドングルを共有するコンピューターとそれに接続するマシンの両方に、現在の Donglify バージョンをインストールしてください。

ライセンスドングル向けに構築

汎用のUSB-over-networkツールとは異なり、DonglifyはUSBセキュリティドングル専用に設計されています。デバイスの互換性は、USB周辺機器の全範囲ではなく、商用ソフトウェアで使用されるハードウェアライセンスキーに重点を置いています。他のドングル共有ソフトウェアとの比較をより広く確認するには、当社のソフトウェアラウンドアップをご覧ください。

インターネット要件

ドングルを共有するコンピュータとVirtualBoxゲストの両方が、両方のシステムが同じローカルネットワークに接続されている場合でも、Donglifyアカウントで認証するためにインターネットアクセスを必要とします。

よくある質問

ほとんどの場合、フィルタが捕捉する前にホストOSがドングルを先に掴んでしまいます。 VBoxManage list usbhostを実行して Busy または Unavailable の状態を探し、ドングルを挿し直す前にVMの起動が完了していたことを確認し、Appleシリコン搭載Macでは「プライバシーとセキュリティ」アクセサリ」でVirtualBoxが許可されていることを確認してください。フィルタをベンダーIDとプロダクトIDのみに絞るだけで、ほとんどの検出失敗はそれだけで解消します。

いいえ。標準のUSB 2.0およびUSB 3.0のパススルーは、EHCIとxHCIのサポートが同梱されているため、VirtualBox 7.0以降ではベースインストールの状態で動作します。Extension Packは引き続き、ディスク暗号化、ホストWebカメラのパススルー、PXEブートROM、VRDPリモートディスプレイをカバーします。7.0より古いバージョンを使用している人は、USB 1.1を超えるあらゆるUSBサポートにそれが必要です。

はい、Donglify のようなネットワークリダイレクトツールを通じて可能です。ネイティブのパススルーが届くのは同じ物理マシン上のデバイスだけです。Donglify はドングルを接続しているコンピュータとゲスト OS 内にインストールする必要があり、VirtualBox のホストだけにインストールするのではありません。というのも、USB に関してはホストとゲストは別々のオペレーティングシステムとして扱われるためです。接続が確立されると、ゲストはドングルをローカルでキャプチャしたデバイスと同じように認識します。

VirtualBox のネイティブなパススルーでは不可能です。キャプチャされたデバイスは単一のゲストまたはホストにロックされ、同時に複数へは割り当てられません。Donglify は、デバイス互換性ドキュメントに記載されている、明示的なマルチ接続対応のドングルモデルにおいて、複数 VM の同時アクセスをサポートします。対応リスト外のドングルは、どのツールが共有を管理していても単一接続のままです。