方法2:ネイティブHyper-Vモードでシリアルポートを有効にする
ネイティブHyper-Vの方法を使用してシリアルポートを有効にすることができます。このプロセスでは、サードパーティ製のソフトウェアソリューションは必要ありません。
他の仮想化ソリューションとは異なり、Hyper-Vは物理的なCOMポートを直接通すことを許可していません。したがって、ホストマシンのシリアルポートと仮想マシン間で接続を確立したい場合は、
拡張セッションモードや
名前付きパイプなどの組み込み機能を使用するオプションがあります。これがどのように機能するか、手順を追って説明します。
前提条件
- ホストマシン: Windowsがオペレーティングシステムとしてインストールされ、Hyper-Vがインストールされています。
- ゲストVM: 対応するWindowsベースのオペレーティングシステムが実行されています(特に拡張セッションモードが機能するため)。
- 物理COMポート: ホストマシンに物理COMポートがあります。
- 管理者権限: ゲストおよびホストマシンの両方に管理者権限を有効にします。
モード1:拡張セッションモードの使用
注:拡張セッションモードは、リモートデスクトッププロトコル(RDP)をサポートするWindowsベースのゲストマシンでのみ動作します。この方法の手順は以下の通りです:
ステップ1: ホストで拡張セッションモードを有効にする
ホストコンピュータのスタートメニューに移動します。 Hyper-Vマネージャーを検索して開きます。
拡張セッションモードのポリシーを有効にする:
- 左ペインでHyper-Vホストマシンを選択します。
- 次に、右ペインの「アクション」を探し、その下にあるHyper-Vの設定をクリックします。
- サーバー設定の下に「拡張セッションモードポリシー」を見つけてクリックします。
- 「拡張セッションモードを許可する」のチェックボックスをオンにします。
- OKをクリックします。
ユーザーのための拡張セッションモードを有効にする:
- 同じHyper-V設定ウィンドウで、拡張セッションモードオプションを探してクリックします。
- 「拡張セッションモードを使用する」のチェックボックスをオンにします。
- OKをクリックします。
ステップ2: COMポートリダイレクト設定の構成
仮想マシンで、Hyper-V設定でシリアルポートのリダイレクトを設定します。VMを起動します:Hyper-Vマネージャーに移動し、VMを右クリックして「接続」を選択します。VM接続ウィンドウで「開始」ボタンが表示されます。これをクリックします。
リソースの調整:接続ウィンドウで「オプションの表示」を探してクリックします。
- 「ローカルリソース」に移動します。
- 「ローカルデバイスとリソース」の下にある「その他...」をクリックします。
- 「ポート」を展開します。
- リダイレクトするCOMポートに隣接するボックスがあります。それらをチェックします。
- OKをクリックします。
ゲストマシンにログインします。
ステップ3: ゲストOSでCOMポートを確認する
デバイスマネージャーを開きます:Windowsキー + Xを一緒に押し、そこからデバイスマネージャーを選択します。「ポート(COMおよびLPT)」を展開してリダイレクトされたすべてのCOMポートを確認します。COM1、COM2などのエントリが含まれているはずです。
COMポートのテスト:シリアル通信ソフトウェア(例えば、
Advanced Serial Port Terminal、PuTTYなど)を使用してCOMポートをテストします。
拡張セッションモードを実装する際の長所と短所
拡張セッションモードの機能を実装することには、いくつかの長所と短所があります。これを選択する前に知っておくべきポイントを説明します。
長所:
- コスト効果が高い
この方法は、ネイティブのWindowsおよびHyper-V機能を使用しており、追加のソフトウェア費用を排除できます。
- 設定が簡単
Hyper-Vマネージャーの設定を使用して簡単に構成できます。
- セキュリティ
セキュアなリソースリダイレクトには、Windowsのセキュリティモデルが使用されます。
短所:
- Windowsのみサポート
Windowsシステムのみをサポートしており、他のオペレーティングシステムを使用している場合は動作しません。
- 機能の制限
非RDP環境やVMの起動中はシリアル通信を許可しません。また、機能やパフォーマンスは直接的なCOMポートアクセスほど優れていない場合があります。
拡張セッションモードは、基本的なニーズを持ち、Windowsを使用し、コスト無料のオプションを探しているユーザーに適しています。
モード2:名前付きパイプの使用
このHyper-Vのシリアルポート方法は名前付きパイプを使用し、設定を手動で構成する必要があります。LinuxおよびWindowsのゲストコンピューターの両方で動作します。以下はその使用方法です:
ステップ1:PowerShellでCOMポートを追加する
VMでCOMポートを追加する必要があります。管理者としてPowerShellを開きます:スタートメニューを探して右クリックし、「Windows PowerShell(管理者)」を選択します。
COMポートを追加する:VMで次のコマンドを実行します:
Add-VMComPort -VMName "YourVMName" -Number 1 -Path \\.\pipe\HyperVSerialPort
注:
「YourVMName」の部分にVM名を置き換えてください。
• Number → COMポート番号(VM内)
• Path → 名前付きパイプ(VMのCOMポートを接続)
新しいCOMが追加されたかテストするには、次のコマンドを実行します:
Get-VMComPort -VMName "YourVMName"
ポートが正しく追加されていることを確認します。
ステップ2:ホストで名前付きパイプを構成する
- ホストで、名前付きパイプに接続するには「Hyper-V仮想マシン接続」アプリケーションを使用します。Windowsは、物理的なシリアルまたはCOMポートを名前付きパイプに接続するためのネイティブ機能を提供していません。
- ただし、物理COMポートを名前付きパイプにリダイレクトしたい場合は、別の方法が必要です。例えば、TCP/IPを介して物理的なリダイレクトを実行することができますが、これには追加のソフトウェアやスクリプトが必要です。
- また、組み込みツールやPowerShellスクリプトを使用して、アプリケーションがネットワークソケットに接続できる場合、シリアルからTCP/IPのブリッジを作成する方法もあります。ただし、これはネイティブ機能を超えます。
名前付きパイプを使用したシリアルポートアクセスの長所と短所
Hyper-Vで名前付きパイプを使用したシリアルポートアクセスには、いくつかの長所と短所があります:
長所:
- コスト削減
このツールはWindowsのネイティブ機能を提供しており、追加のソフトウェアを購入する必要はありません。
- クロス互換性
WindowsとLinuxのゲストマシンの両方に対応しています。
短所:
- 複雑さ
このツールは手動で設定する必要があり、物理COMポートをVMに接続するために追加のスクリプトを作成する必要があるため、設定が複雑です。
- ネイティブサポートがない
物理COMポートを名前付きパイプに接続することは、ネイティブでサポートされていません。これを実現するためには追加の作業が必要です。
- 安定性
組み込み機能は、カスタマイズされたソリューションよりも信頼性と安定性が高いです。
名前付きパイプの方法は、コーディングや設定、トラブルシューティングに関する技術的な専門知識を持ち、これらの作業に十分な時間を割ける人にとっては、コスト効果の高いオプションです。
最終推奨
ホストとゲストマシンをCOMポートで接続するためのより簡単で複雑でない、信頼性の高い方法を探しているユーザーは、Serial over Ethernet Connectorを選択できます。投資が必要ですが、時間とコストの節約、設定の簡便さ、必要な場合の専門的なサポートという点でその利点がバランスを取ります。
ただし、ソフトウェア購入の予算に制約がある場合は、ネイティブHyper-Vの方法を選択することもできます。名前付きパイプ設定の複雑さを扱う技術的なスキルがある場合、または追加のスクリプト