VirtualBoxプリンターパススルー用にプリンターを接続する方法

VirtualBox からの印刷は、仮想マシンに組み込みの「印刷」ボタンがないため難しいです。ゲストOSとプリンター間の通信を確立する別の方法を見つける必要があります。

このガイドでは、仮想マシンでのUSBパススルーやVirtualBoxのネイティブUSBサポートなど、いくつかの方法を用いてVirtualBoxから印刷する手順を解説します。これにより、ご自身の環境に最適な解決策を選べます。

VirtualBox ネイティブプリンター共有方法

VirtualBox では常に、VirtualBox Extension Pack がインストールされていることを条件に、ゲスト OS がホスト コンピューターに接続されたプリンターと直接やり取りできるようになっています。

7.0 以降の VirtualBox バージョンには、USB 2.0(EHCI)および USB 3.0(xHCI)のネイティブ サポートが、コアのオープンソース パッケージに含まれています。このサポートにより、ゲスト OS とローカル プリンター間の基本的な接続を確立するために、Extension Pack が常に必要となるわけではありません。

Extension Pack VirtualBox は、完全なハードウェア互換性でプリンターを VirtualBox に接続するために必要となる場合があります。

特定の Linux ディストリビューションを導入する場合や、多機能で高性能なプリンターを使用する場合、安定した接続を確保するために Extension Pack が必要になることがあります。システムの非互換性を解消するために、VirtualBox のコア パッケージと Extension Pack は同じバージョンをインストールする必要があります。

方法 1: USB プリンター パススルー

VirtualBox のプリンター共有を実装する最も一般的な方法は、ホストコンピューターから仮想マシンへ USB ポートを転送することです。

1. USBケーブルでプリンターをホストPCに接続します。

2. VM 設定 > USB を開きます。

3. 「フィルターを追加」アイコンをクリックし、プリンターを選択します。

4. VM を起動し、ゲスト OS にプリンタードライバーをインストールします。

注: ファイル > ツール > 拡張機能パック マネージャーを使用してプリンターが検出されない場合は、互換性を確保するために VirtualBox Extension Pack をインストールしてください。USB 2.0 および 3.0 のサポートは VirtualBox 7.0+ に組み込まれていますが、特に Linux では、安定したデバイス検出のためにプリンターを VirtualBox に追加する際に Extension Pack が必要になる場合があります。コアパッケージと Extension Pack は同じバージョンを使用してください。

残念ながら、この方法ではVirtualBoxのUSBプリンターの接続が不安定になることがよくあります。ホストOSがプリンターを取得して仮想マシンへのアクセスを拒否し、ドライバーの競合によって「デバイスがビジーです」というエラーが発生する場合があります。このエラーは、ユーザーが代替ソリューションを探す主な理由の一つです。

長所

  • この方法は完全に無料で、追加のソフトウェアライセンスは不要です。
  • プリンターとゲストオペレーティングシステム間に直接アクセスが確立されます。
  • すべてのプリンター機能がサポートされており、デバイスのクリーニングやインク残量の確認のためのプリンターのメンテナンスツールへのアクセスも含まれます。

短所

  • ホストOSはプリンターへのアクセスを頻繁にロックし、仮想マシンに解放しません。
  • この手法には、USBフィルターの設定や拡張パックの管理を含む複雑な構成が必要です。
  • ドライバーの感度には、ホストおよびゲストシステムに同一のドライバーをインストールする必要があります。

方法 2: ネットワーク ブリッジド アダプター

プリンターにWi-FiまたはEthernetポートがある場合は、この安定した方法を使用できます。

1. VM 設定 > ネットワーク に移動します。

2. 「接続先」をブリッジアダプターに設定します。

3. 仮想マシン内で「ネットワークプリンター」を検索します。これは、ネットワークに接続されたスタンドアロンコンピューターで行う場合と同じ方法です。

長所

  • この方法は、ネットワーク接続が確立された後は安定しており、信頼性があります。
  • プリンターはホストおよびゲストOSの両方から同時に利用できます。
  • ブリッジドアダプター方式はドライバーの競合を解消します。

短所

  • この方法はネットワークカードを搭載したプリンターでのみ動作します。
  • ユーザーはファイアウォールとネットワーク探索の設定を調整する必要があります。
  • NAT からブリッジモードに切り替えると、IP の競合や VM のネットワーク機能に関する問題が発生する可能性があります。
注: 使用する接続方法に関係なく、実際のコンピューターで行うのと同様に、ゲストVMに公式のプリンタードライバーをインストールする必要があります。

方法 3: 共有フォルダー

共有フォルダ方式は、ホストのロックやドライバーの互換性の問題により直接アクセスが失敗する場合に、信頼できる代替手段です。この手法では、印刷したいドキュメントをVMからホストマシンへ移動します。

1. [VM 設定]>[共有フォルダー]に移動して共有フォルダーを有効にし、VM と物理コンピューター上のフォルダー間のリンクを作成します。共有フォルダーを作成するには VirtualBox Guest Additions をインストールする必要があります。

2. 仮想マシン内で、ドキュメントを PDF として保存し、共有フォルダーに移動します。

3. 物理コンピューター上の共有フォルダーからファイルを開き、ローカルで印刷します。

技術ノート: この方法は、ゲストOSにおけるUSBリダイレクトとドライバーの競合の複雑さを回避しますが、VMがプリンターを検出して操作できない原因となるVirtualBoxのプリンターが動作しない問題に対する間接的な回避策です。

長所

  • この方法は完全に信頼でき、毎回確実に動作し、あらゆるプリンターと互換性があります。

短所

  • ファイルをPDFとして手動で保存し、それらを共有フォルダに移動する必要があります。
  • プリンターのインク残量を確認してメンテナンスを実行するための制御や可視性がありません。

一般的なVirtualBoxプリンターの問題

このトラブルシューティングガイドは、ネイティブUSBパススルーに関する問題の根本的な原因を特定するのに役立ちます。

問題 原因 解決策
「デバイスが使用中です」 ホストOSがプリンターをロックしています。 ホスト側で印刷アプリケーションを閉じるか、USB Network Gateを使用してください。
プリンターが認識されない ドライバーの不足またはフィルターエラー ゲストOS内に公式ドライバーをインストールし、USBフィルターを確認してください。
印刷速度が遅い ネットワークの問題またはUSB 3.0の競合 ネットワーク信号を確認し、USB 2.0モードに切り替えてください。
Ubuntu:USBリストが空 権限が拒否されました sudo usermod -a -G vboxusers $USER を実行し、VMを再起動してください。

USB Network Gate は、これらの問題を解消する信頼性の高い代替手段を提供します。

USB Network Gate: プロフェッショナルなソリューション

USB Network Gate は、ネットワーク経由でプリンターを仮想化されたUSBポートへリダイレクトすることで、ネイティブUSBパススルー方式に伴う潜在的な問題を回避する人気の代替手段です。

なぜUSB Network Gateを選ぶのですか?

  • ソフトウェアが低レベルのUSBデータをインターセプトし、ホストOSがプリンターへのアクセスをロックするのを防ぎます。
  • ネットワーク経由でリモートホストコンピューターに接続されたプリンターに接続できます。
  • アプリケーションがVM内に仮想USBポートを確立し、ゲストドライバーがプリンターを認識できるようにします。
  • VirtualBoxとそのExtension Packの間で潜在的なバージョン競合はありません。


USB Network Gateを使用して、3つの簡単な手順で安定したプリンター接続を確立できます。

注: 最小限で直接的 続行する前に、VirtualBox のインストール中に 「VirtualBox USB サポート」 オプションを無効にして、USB Network Gate の USB 共有との競合を回避してください。

VirtualBox installer

2. ホストマシンでUSB Network Gateを起動します。USBデバイスの一覧でプリンターを見つけ、共有]ボタンをクリックします。

mac用UNG

3. VirtualBox VM 内で USB Network Gate を開き、リモート USB デバイス」タブでプリンターを見つけて、接続」をクリックします。

VirtualBoxユーザー向け技術ノート: 一部のユーザーは、VirtualBox USB モニター(VBoxUSBMon.sys)と USB リダイレクトソフトウェアの間でドライバーの競合が発生し、USB デバイスを接続した際にシステムクラッシュにつながる場合があります。USB リダイレクトの用途をすべて USB Network Gate でまかなっている場合は、VBoxUSBMon.sys ドライバーを手動で無効化することでこの問題を解決できます。このソフトウェアは、ネイティブの VirtualBox USB スタックを迂回する安定したドライバーを提供します。

動画チュートリアルで詳しく学ぶ:

長所

  • IP ベースのネットワーク経由でのリモート印刷を有効にします。
  • 「ホスト ロック」の問題を解消し、VM が常にプリンターにアクセスできるようにします。
  • USBフィルターの設定や拡張機能パックのバージョン確認なしで合理化されたセットアップ。

短所

  • ソフトウェアはホストおよびゲストマシンにインストールする必要があります。
  • ソフトウェアを使用するには、有料サブスクリプションまたはライセンスが必要です。

Ubuntu ホストのセットアップ

Ubuntuホスト上でVirtualBoxプリンターを設定する際、デバイスが接続されシステムに検出されている場合でも、Linuxの権限制限により失敗することがよくあります。デフォルトでは、オペレーティングシステムはUSBデバイスへの直接アクセスを制限します。VirtualBoxユーザーは必要なシステムグループのメンバーである必要があり、そうでない場合、VMはUSBプリンターを検出しません。

Ubuntu で VirtualBox USB プリンターにアクセスする

Ubuntu およびほとんどの Debian ベースの Linux ディストリビューション上の VirtualBox でプリンターにアクセスするには、USB デバイスにアクセスするためのアカウント権限を取得する必要があります。

修正: ユーザーを vboxusers グループに追加する必要があります。

1. Ubuntuホストでターミナルを開きます。

2. 次のコマンドを実行します:
sudo usermod -a -G vboxusers $USER

3. 再起動するか、ログアウトしてから再度ログインしてください。

4. VirtualBox を起動し、VM を起動します。

プリンターがVMのUSBデバイス一覧に表示され、USBパススルーで利用できるようになります。