仮想マシンのUSBデバイスにアクセスする方法

1.仮想化が定義された
仮想化は何年も前から存在しているテクノロジです。基本的には、ネットワーク、ストレージデバイス、サーバー、オペレーティングシステムなどの物理エンティティのシミュレーションを作成するためのソフトウェアの使用です。仮想化の利点は、物理的なリソースのみが使用されたときにコンピューティングの世界がどのように生き残ったかについて疑問を投げかけます。
仮想コンピューティング環境で操作することにはいくつかの欠点があります。あなたに影響を与える可能性があるのは、USBポートにアクセスできないということです。 USBパススルーは、VMwareやMicrosoft Hyper-Vなどの一部の仮想環境では利用できません。 USB接続がないため、VMがホストコンピュータに接続されているUSBセキュリティドングルにアクセスすることは不可能です。
仮想マシンからUSBデバイスとポートにアクセスする問題にはいくつかの解決策があります。この問題を解決するために主に使用される2つの方法があります。

  • USBデータをVMwareなどの仮想環境に渡すことを可能にするためのサードパーティソフトウェアソリューションの使用。
  • USBデバイスと仮想マシンを統合するためのネイティブな方法を利用する。

2.仮想マシンのUSBにアクセスするためのソフトウェア
USB over Ethernetは、物理ホストオペレーティングシステムに接続されているUSBポートに、プラットフォーム上で実行されている仮想マシンからアクセスできるようにするソフトウェアソリューションです。 USB Network Gateを使用すると、ネットワークに接続されたUSBデバイスをネットワーク上の物理マシンと仮想マシンで共有できます。

f:id:OliverSpace:20190729194230j:plain

USB Network Gateで仮想接続を作成するには、次の手順に従ってください。

  1. アプリケーションをホストマシンと仮想マシンの両方にインストールします。
  2. 選択したUSBデバイスをネットワーク経由で共有します。
  3. 仮想マシンからUSBデバイスへの接続を設定します。

f:id:OliverSpace:20190729194248j:plain

 USB Network Gateは、Windows、Linux、およびMacの各オペレーティングシステムをサポートしています。仮想マシンはデバイスを認識し、機器が物理的に接続されているかのように扱います。
3. VMwareについて:ワークステーションとESXi

f:id:OliverSpace:20190729194314j:plain



VMwareは1998年の設立以来、仮想化サービスとソフトウェア製品を提供することを目標にしてきました。現在は仮想化技術の分野におけるリーダーの一人としての地位を占めています。 VMwareが提供するソリューションは、デスクトップソフトウェアとサーバーアプリケーションの2つの大きなカテゴリに分類されます。
VMware Workstationは、WindowsおよびLinux x64オペレーティングシステム上で動作するホスト型ハイパーバイザーを提供するデスクトップソリューションです。 VMwareを使用すると、両方のシステムが同時に動作している状態で、仮想マシン(VM)を物理コンピュータに設定できます。これにより、複数のオペレーティングシステムを単一の物理マシン上のVM内に共存させることができます。
VMware Workstation Playerと呼ばれるソフトウェアの無料版は、非営利目的での利用が可能です。 VMwareはMacユーザー向けのVMware Fusionも提供しています。これにより、Intelプロセッサ上で動作するMacコンピュータは、macOSと共にさまざまな仮想オペレーティングシステムを実行できます。これはVMwareの最も人気のあるソフトウェアソリューションです。
次に人気のある製品はVMware ESXiです。ネイティブOS上では動作しない、タイプ1(ベアメタル)のハイパーバイザーです。 ESXiには、オペレーティングシステムに必要な要素が含まれており、サーバーハードウェア上で直接動作します。これにより、追加のOSをインストールする必要がなくなります。
4. VMwareのUSBリダイレクトのためのソフトウェアソリューション
USB Network Gateの大きな利点は、USBデバイスからのトラフィックをIPベースのネットワーク全体に転送できることです。これには、ローカルLAN、インターネット、またはイーサネットが含まれます。このソリューションを使用すると、VMwareワークステーションのUSBパススルーは、ホストマシンに物理的に接続されていないデバイスでも有効になります。 VMware仮想マシンへのUSBアクセスを実装するには、ホストおよびゲストプラットフォームにツールをインストールするだけです。
ソフトウェアの唯一の能力は、IPネットワークを介してUSB通信をリダイレクトすることです。そうすれば、それらはVMwareまたは他のネットワーク接続されたマシン上で使用することができます。これは、産業用アプリケーション、POSシステムで使用されるUSBデバイスをより有効に活用し、組織全体で機器を共有する機会をもたらします。
高度なポート仮想化テクノロジを使用することで、このアプリケーションは、ネイティブの方法では複製できないVMwareインスタンス上の特定のUSBデバイスを使用することを可能にします。追加のソフトウェアがなければESXiサーバーでは使用できない、アイソクロナスデータ転送を使用するデバイスでの例が見られます。つまり、ビデオやオーディオデバイスなどの機器、および起動可能なHIDインターフェイスを備えたコンピュータのマウスやキーボードを使用するには、USB Network Gateの電源が必要です。
VMware ESXiでUSBパススルーを有効にする手順は、次のとおりです。

  1. 共有するUSB​​デバイスに物理的に接続されているコンピューターにUSB Network Gateをダウンロードしてインストールします。
  2. アプリケーションを起動し、そのインターフェイスを使用してUSB周辺機器を共有します。
  3. デバイスを共有するVMにプログラムをインストールします。それを起動し、「リモートUSBデバイス」タブを使用してデバイスにアクセスします。

USB Network Gateはクロスプラットフォームソリューションであり、Windows、Linux、およびMacコンピュータの任意の組み合わせでネットワーク通信が行われる環境をサポートします。
5. USBをVMwareに接続するためのネイティブメソッド

  • ネイティブメソッドを使用してUSBデバイスとVMware Workstationの間に接続を作成するために必要な詳細は以下のとおりです。
  • VMをホストしているコンピュータにUSBデバイスを接続すると、デフォルトではデバイスは物理ホストではなくVMに接続されます。そうでない場合は、デバイスを手動でゲストオペレーティングシステムにリダイレクトする必要があります。デバイスがVMに接続されると、WorkstationはホストのUSBインターフェイスへの接続を維持します。 VMがサスペンドまたはパワーオフされてから再起動されると、VMware Workstationは自動的にデバイスに再接続します。これは、デバイスの電源を切ってから再び差し込む場合も同様です。
  •  VMを一時停止してからゲストOSを再開するか、デバイスを切断して再接続すると、Workstationは接続を復元します。デバイスがWorkstationに再接続されずにまだ利用可能な場合は、手動でリダイレクトできます。これを行うには、次の手順を実行します。[VM]> [Removable Devices]> [Device Name]> [Connect](ホストから切断)の順に選択します。
  • USBデバイスをVMware ESXiにリダイレクトするときは、次の手順に従ってください。
  1. VMware vSphere Web Clientにログインして、インベントリを選択します。
  2. 仮想マシンのリストを開き、USBデバイスへのアクセスを必要とするVMを選択します。右クリックして「編集」設定を選択します。
  3. 「New device」メニューを選択し、「Host USB device」を選択して「Add」をクリックします。
  4. ドロップダウンメニューから仮想マシンに追加したいUSBデバイスを選択します。

6. USBデバイスを仮想マシンに接続する
仮想マシンがホストコンピュータ上で実行されていてそのウィンドウがアクティブになっている場合、ホストに接続されているデバイスは自動的にゲストVMに接続されます。このデフォルトの動作は、VM設定エディタの[USBコントローラ]パネルから自動接続機能をオフにすることで無効にできます。
仮想マシンのすべてのポートがすでに使用されているときにUSBデバイスを接続しようとすると、ダイアログボックスが表示されます。デバイスを切断してポートを解放するか、または新しいデバイスを無視するかを選択できます。デバイスを無視することを選択した場合は、ホストマシンに接続されています。
仮想マシンに接続する特定のUSBデバイスを選択するには、[VM] - [リムーバブルデバイス]を選択します。一度に最大2つのUSBデバイスを接続できます。ハブではなくデバイスがVMに表示されるため、この制限をハブで覆すことはできません。
VMの各USBポートはメニュー項目で表されます。メニュー上の項目にカーソルを合わせると、仮想マシンで使用可能なデバイスのメニューを表示できます。単にその名前をクリックしてデバイスを接続します。使用したいポートにデバイスが接続されている場合は、新しいデバイスをクリックして、すでに接続されているものと交換します。

f:id:OliverSpace:20190729195807j:plain

ポートのカスケードメニューから[なし]を選択すると、それが接続されていたデバイスが解放されます。
自動接続が無効になっているホストに接続されているデバイスは、[VM] - [リムーバブルデバイス]メニューを使用して手動で接続できます。
7. Hyper-VにUSBドライブをマウントする方法
Hyper-V仮想環境でUSBドライブをVMに接続するには、ドライブを仮想ハードディスクとしてインストールできるようにドライブサイズを知っておく必要があります。 Windowsマシンでこの情報を見つけるには、[コンピュータ]をクリックし、リムーバブルディスクを選択して、右クリックしてデバイスの[プロパティ]を表示します。仮想ハードドライブを取り付けるときに使用するハードドライブのサイズに注意してください。
 USBリムーバブルドライブを仮想ハードドライブとしてインストールするために必要なことは、次のとおりです。

  1. Hyper-Vサーバーを右クリックし、[新規]> [ハードディスク]の順に選択します。アクションメニューを使用することもできます。そこから、指示に従ってください。
  2. ドライブの名前を入力して[次へ]をクリックする必要があります。
  3. [指定した物理ディスクの内容をコピーする]を選択し、ディスクの詳細を入力してデバイスを識別します。仮想ハードドライブに存在するデータを含むUSB.vhdファイルを作成するのに予想以上に時間がかかる場合があります。 vhdファイルはリムーバブルデバイスの全容量を使用して作成され、割り当てられた領域と空き領域を区別しません。
  4. 仮想マシンの[設定]を選択します。 SCSIコントローラを選択します - 左パネルを見てください。ハードドライブを選択します - 右側のパネルを見て、追加をクリックします。
  5. [参照]をクリックして、USBドライブのマウントに使用されたvhdファイルを開きます。リムーバブルデバイスがシステムのドライブとして表示されているはずです。

マイコンピュータに表示されない場合は、ドライブがオンラインになっていることを確認してください。これを行うには、VMを介して[コンピュータ]を右クリックし、[管理]または​​[管理ツール]を選択して[コンピュータの管理]に移動します。
次に[記憶域の拡張]を選択して[ディスクの管理]を選択します。オフラインディスクは赤い矢印アイコンで示されます。オンラインにするには、ディスクを右クリックして表示されたメニューの[オンライン]を選択します。ドライブがオンラインステータスになると、ドライブ文字がドライブに割り当てられます。

この手法には2つの問題があります。 1つ目は、Hyper-V仮想環境に接続したいUSBドライブごとに、接続性を複製する必要があるということです。