VirtualBox ホストに接続された USB ドングルは、必ずしも自動的にゲスト内に表示されるとは限りません。VirtualBox がドングルをパススルーするのは、VM で USB コントローラが有効になっており、USB フィルタがキャプチャするデバイスを指定している場合に限られます。それまでは、ホスト OS が先にドングルを掴んでしまうことが多く、とりわけドライバ更新、VirtualBox のアップグレード、または macOS のセキュリティプロンプトの後に発生しがちです。
以下では、Windows、macOS、Linux ホスト向けのネイティブなパススルー設定、ドングルが依然として接続されない場合に実行すべきチェック項目、そして別の物理マシン上のライセンスドングルへアクセスするために Donglify がより良い選択肢となるタイミングについて説明します。
ネイティブパススルーとDonglifyのどちらを選ぶか
ドングルとVirtualBoxが同じマシンを共有している場合はネイティブパススルーを選択します。ドングルがネットワーク上の別の場所にある場合はDonglifyを選択します。
| 状況 | 最適な選択肢 |
| ドングルがVirtualBoxと同じ物理マシンに接続されている | ネイティブのパススルー。追加ソフトウェアやインターネット接続は不要。 |
| ドングルが別のコンピューター、別オフィス、またはサーバーラックにある | LANまたはインターネット経由のDonglify。アカウント認証のため、両側でインターネットアクセスが必要。 |
| VirtualBox 7.xを使用している | Extension Packなしで、ネイティブの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コントローラを有効にする
- VMの電源を切ります。
- VMの設定 > USB を開き、USBコントローラを有効にします。
- 最新のゲストにはUSB 3.0(xHCI)を、ゲストが古い場合やドングルがxHCI下で不安定な場合はUSB 2.0(EHCI)を選択します。
- 保存します。
USBフィルタを作成する
- ドングルをホストに接続します。
- VMの設定 > USB を開き、USBフィルタを追加]をクリックして、ドングルを選択します。
- 同一のドングルを区別する必要がない限り、名前、ベンダーID、プロダクトIDのみを残します。
- ドングルを抜き、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 は不要なため該当しません。 |
mstsc.exe を含むほとんどは対応していません。通常のネットワーク越しにライセンスドングルを共有するには、Donglify のほうがより汎用的な選択肢です。 Donglify を使用してリモート VM にドングルを共有する
Donglify はドングルを TCP/IP 経由で転送するため、ネイティブなパススルーの同一マシン制限を回避できます。物理ドングルが別のホストにあっても、ゲストにはローカル接続されたデバイスとしてキーが認識されます。
Donglify は両端にインストールします。ドングルを接続しているマシンと、それに接続するすべての VirtualBox ゲストです。7 日間の試用版では全機能セットを利用でき、導入前にネットワーク越しでお使いのドングルモデルが動作することを確認するのに十分です。
USBドングルをVirtualBoxにリダイレクトする方法
- Donglify アカウントを作成します。
2. ドングルが物理的に接続されているホスト(サーバー)およびそれに接続するすべての VirtualBox ゲスト(クライアント)に Donglify をインストールします。
3. サーバーで、Donglify を起動してサインインします。
4. + をクリックして接続されている USB キーの一覧を開き、ドングルの横にあるラジオボタンを選択して、共有]をクリックします。
5. クライアントでDonglifyを起動し、同じアカウントにサインインして、一覧で共有ドングルを見つけ、接続]をクリックします。
6. ゲスト内のデバイス マネージャーでドングルがローカル デバイスとして表示され、ライセンスされたアプリケーションがVirtualBox VMから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-over-networkツールとは異なり、DonglifyはUSBセキュリティドングル向けに特別に設計されています。デバイス互換性は、USB周辺機器の全範囲ではなく、商用ソフトウェアで使用されるハードウェアライセンスキーに重点を置いています。
インターネット要件
ドングルを共有しているコンピューターとVirtualBoxゲストの両方は、両方のシステムが同じローカルネットワークに接続されている場合でも、Donglifyアカウントで認証するためにインターネットアクセスが必要です。
よくある質問
ほとんどの場合、ホストOSがフィルターで捕捉される前にドングルを掴んでしまいます。 VBoxManage list usbhost を実行して Busy または Unavailable の状態を探し、ドングルを挿し直す前にVMの起動が完了していたことを確認し、Apple silicon Macでは「プライバシーとセキュリティ」アクセサリ」でVirtualBoxが許可されていることを確認してください。フィルターをVendor IDとProduct IDに絞るだけで、ほとんどの検出失敗はそれだけで解消します。
いいえ。標準の USB 2.0 および USB 3.0 パススルーは、EHCI と xHCI のサポートが同梱されているため、VirtualBox 7.0 以降ではベースインストールの状態から動作します。Extension Pack は引き続き、ディスク暗号化、ホストのウェブカメラのパススルー、PXE ブート ROM、および VRDP リモートディスプレイをカバーします。7.0 より古いバージョンのユーザーは、USB 1.1 を超えるあらゆる USB サポートのためにそれが必要です。
はい、Donglify のようなネットワークリダイレクトツールを使えば可能です。ネイティブのパススルーは、同じ物理マシン上のデバイスにしか届きません。Donglify は、ドングルを接続しているコンピュータとゲスト OS 内にインストールする必要があり、VirtualBox ホストだけにインストールするのでは不十分です。USB に関しては、ホストとゲストは別々のオペレーティングシステムとして扱われるためです。接続が確立すると、ゲストはドングルを、ローカルで取り込まれたデバイスと同じように認識します。
ネイティブのVirtualBoxパススルーでは不可能です。キャプチャされたデバイスは1つのゲストまたはホストにロックされ、同時に複数にはなりません。Donglifyは、明示的なマルチ接続サポートを備えたドングルモデルでの同時マルチVMアクセスをサポートしており、それらはデバイス互換性ドキュメントに一覧表示されています。サポート対象リスト外のドングルは、どのツールが共有を管理していても、単一接続のままです。