Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)

他のハイパーバイザー(VMWare ESXiやProxmoxなど)に対するHyper-Vの重大な欠点の1つは、USBデバイスをホストから仮想マシンにリダイレクトする機能がないことです。バージョンHyper-V2012R2以降、USBパススルーオプションに関して多くの変更が加えられていますが、この機能は競合他社の機能よりも劣っています。この記事では、Hyper-VでのUSBリダイレクトの詳細について説明します。

Hyper-VUSBパススルーの概要

USBパススルー USBデバイスをホストハイパーバイザーから(またはネットワークを介して別のサーバー/デバイスから)仮想マシンにリダイレクトする機能を指します。 USBパススルーを使用すると、USBスティック、トークン、USBドングル、モデム、または物理ホストのUSBポートに接続されているその他のデバイスを仮想マシンにリダイレクトできます。

悪いニュースは、Hyper-Vがフル機能のUSBパススルーをサポートしていないことです。任意のUSBデバイスを物理ホストから仮想マシンにリダイレクトすることはできません(これにより、VMWareの方がはるかに優れています。VMWareESXiのUSBパススルーの記事を参照してください)。 Hyper-V VMで外部USBデバイスを使用するための組み込みオプションがいくつかありますが、それらにはすべて重大な制限があります。現在、次の方法を使用して、USBデバイスをHyper-V仮想マシンにリダイレクトできます。

  • Hyper-VホストからのUSBドライブのリダイレクト;
  • Hyper-Vコンソールの拡張セッションモード;
  • RDPを介したUSBリダイレクト;
  • ネットワークを介したUSBリダイレクト(USB over IP)にソフトウェア/ハードウェアソリューションを使用する。
最後のシナリオでは、サードパーティのソリューションを使用してUSBoverIPを実装します。これは、ネットワークUSBハブ、別のサーバーからTCP/IPネットワークを介してUSBデバイスをリダイレクトするソフトウェアソリューションにすることができます。人気のある商用ソリューションのほとんどは有料です(AnywhereUSB、DigiUSB)。無料のものには、VirtualHere USB(1つのUSBドングルと1つのターゲットサーバーで無料)とかなり古いオープンソースプロジェクトusbip.sourceforge.netが含まれます。 (サーバー部分はLinuxに実装されており、クライアントはWindowsにインストールできます)。 Hyper-V仮想マシンからUSBハードドライブにアクセスする

ホストに接続されたUSBドライブを、実行中のHyper-V仮想マシン内に直接リダイレクトするのはかなり簡単です。 Hyper-V仮想マシンがホストのUSBドライブに直接アクセスできるようにする方法を見てみましょう。

  1. このガイドは、システムによって修正済みとして検出されたUSBドライブに対してのみ機能します。 。この方法でVMにリダイレクトすることはできません(ただし、Windowsにリムーバブルデバイスを固定ハードドライブとして認識させるためのちょっとしたコツがあります)。
  2. これらのドライブでは、スナップショット/チェックポイントを作成できません。

  1. 外部USBドライブをHyper-Vホストに接続します(これは、WindowsとHyper-Vの役割がインストールされている任意のホスト、または無料のMicrosoft Hyper-Vサーバーです)。ドライブがシステムに表示され、ドライブ文字が割り当てられます(ドライブ文字が割り当てられていない場合は、記事を確認してください)。
  2. ディスク管理を開きます (diskmgmt.msc )コンソールで、ドライブを右クリックし(この例では、20 GB USBドライブのIDはディスク1です)、[オフライン]を選択します。 。 Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト) グラフィカルmmcの一部がないWindowsServerCoreまたはHyper-VServerを使用している場合スナップインでは、ディスク管理PowerShellモジュールを使用してローカルディスクを管理できます。次のコマンドは、ホスト上の物理ディスクを一覧表示し、指定されたディスクをオフラインにすることができます。
    Get-Disk
    Get-Disk -Number 1 |Set-Disk -IsOffline:$true
    >
    Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)
  3. Hyper-Vマネージャーを実行し、USBドライブを接続する必要がある仮想マシンのプロパティを開きます。 SCSIコントローラ内 セクションで、新しいディスクを追加し、それが物理的であることを示します(物理ハードディスク )。ドロップダウンメニューで、USBドライブを選択します(次のようになります: Disk 1 20.00 Gb Bus 0 Lun 0 Target 1 )。 。 SCSIハードドライブを追加するために仮想マシンをオフにする必要はありません。 SCSIデバイスの場合、ホットアドおよびホットリムーブドライブがサポートされています。 Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)
  4. 次に、Windowsを実行している仮想マシンのゲストOSからHyper-Vホスト上のUSBディスクにアクセスする方法を示します。仮想マシンコンソールを開くか、RDP経由で接続します。ゲストOSにログインします。ディスクマネージャを実行します。 OSは新しいドライブを認識しているはずです。オフラインの場合は、右クリックしてオンラインを選択します 。現時点では、ドライブ文字やマウントポイントはUSBディスク上のパーティションに割り当てられていません。これを修正するには、ディスク上のパーティションを右クリックして、[ドライブ文字とパスの変更]を選択します。 コンテキストメニューから」。パーティションに空きドライブ文字を割り当てるか、マウントポイントを指定します。 Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)

それで全部です!外部USBメディアをHyper-V仮想マシンに直接接続し、使用できるようになりました。

重要 。データの損失を防ぐために、USBポートからハードディスクを物理的に取り外す前に、仮想マシン内のアプリケーションがこのディスクにアクセスしていないことを確認してください。

USBドライブを安全に取り外すには、Hyper-V管理を開きます。 rコンソールを開き、仮想マシン設定ウィンドウに移動します。 SCSIコントローラ内 セクションで、削除するハードドライブを選択し、削除をクリックします 。変更を保存します。その後、Hyper-VホストのUSBポートからハードドライブを物理的に取り外すことができます。

Hyper-V拡張セッションモードを使用してUSBデバイスをVMにリダイレクトする

Windows Server 2012 R2 / 8.1で導入されたバージョンのHyper-Vでは、拡張セッションモード(ESM)を使用して、クライアントコンピューターから任意のUSBデバイスを仮想マシンに転送できます。 。 Hyper-Vマネージャーツールvmconnect.exeを使用して接続します。仮想マシンコンソールに接続して、リダイレクトするUSB​​デバイスを選択できます。

まず、Hyper-Vサーバーの設定で拡張セッションモードを有効にする必要があります。これは、PowerShellを使用して実行できます:

Set-VMHost -EnableEnhancedSessionMode $true

または、Hyper-V設定->拡張セッションモードで。

Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)

Hyper-V仮想マシン管理サービスを再起動します。
Get-Service vmms | Restart-Service

統合サービス VM設定のセクションで、ゲストサービスを有効にする必要があります オプション。

拡張セッションモードでUSBデバイスをリダイレクトするには、Hyper-Vコンソールを開き、仮想マシンを選択して、[接続]をクリックする必要があります。 ボタン。または、vmconnect.exeを実行することもできます ツール(仮想マシン接続)で、Hyper-Vサーバーと仮想マシン名を指定します。 vmconnectツールはいくつかのコマンドラインオプションをサポートしているため、ユーザーが希望するオプションを使用してカスタマイズされたbatファイルを提供できます。

Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)

VMが拡張セッションモードをサポートしている場合、RDP接続プロパティと同様のウィンドウが表示されます。 [オプションを表示]をクリックします ->ローカルリソース ->ローカルデバイスとリソース ->その他

Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)

VMにリダイレクトするコンピューター上のUSBデバイスを選択します。必要なデバイスが現在接続されていない場合は、「サポートされているその他のプラグアンドプレイ(PnP)デバイス」を選択します。 」と「後でオプションを接続するデバイス 」。

Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)

これで、コンピューターに接続されているすべてのUSBデバイスが、Hyper-V仮想マシンのコンソールセッションで自動的に使用できるようになります。

Hyper-V拡張セッションモードの主な機能と制限:

  • ゲストOSとしてサポートされているのはWindowsのみです(Windows 8.1 / Windows Server 2012 R2以降)。
  • 仮想マシンに直接ネットワークアクセスする必要はありません。すべての接続はHyper-Vホストを介して行われ(TCPポート2179を介してネットワーク経由で接続します)、Hyper-VはVMBusを介してVMに接続します。
  • Hyper-Vマネージャーをクライアントのコンピューターにインストールする必要があります。

この方法は、RDPセッションを介してローカルホストからUSBデバイスをリダイレクトするのに似ています。これについてはこれ以上詳しくは検討しません。 Hyper-V仮想マシンへのUSBデバイスパススルー(リダイレクト)

USBデバイスをネットワーク経由でリダイレクトする場合(USB over IPまたはRDPセッション経由)、仮想マシンを別のホストに移行した後でもUSBキーにアクセスできます(Hyper-Vライブ移行/ vMotion)。


  1. PowerShellを使用したHyper-V2019での仮想マシンの作成

    以前の記事の1つですでに述べたように、仮想マシンはGUI(グラフィカルユーザーインターフェイス)またはPowerShellを使用して作成できます。ほとんどの場合、両方のオプションを利用できる場合、IT管理者はGUIを使用することを好みます。 この記事では、PowerShellを使用してHyper-V2019で仮想マシンを作成する方法を紹介します。ご存知かもしれませんが、PowerShellはWindowsクライアントとWindowsサーバーのオペレーティングシステムに統合されたツールです。これは、特定のコマンドを実行するために使用される何千ものコマンドレットで構成されています。 いつものよ

  2. Hyper-V2019での仮想マシンのエクスポートとインポート

    2019年8月に、Hyper-V 2019のインストール、仮想マシンの構成と展開の手順を説明する4つの記事を書きました。これらの記事を見逃した場合は、以下のリンクで読むことができます: パート1:Hyper-V 2019サーバーコアのインストール方法パート2:Hyper-V 2019コアサーバー–初期構成パート3:Hyper-V 2019コアリモート管理パート4: Hyper-V2019で最初の仮想マシンを作成する この記事では、仮想マシンをあるHyper-V2019サーバーから別のHyper-V2019サーバーにエクスポートおよびインポートする方法について説明します。仮想マシン、構成ファ