Hyper-V VM がホストマシンと通信できずに困っていませんか?よくあるネットワークの悩みの種です。設定ミスが原因の場合もあれば、Windows のネットワークの不具合が原因の場合もあります。これらの修正は、VM とホスト間の安定した接続を確立し、再起動せずにファイル共有、トラブルシューティング、あるいはホストへの ping などを実行できるようにするという共通の課題を解決します。うまくいかないとかなりイライラしますが、これらの修正を実行すれば、スムーズに動作するようになるはずです。
Hyper-V VM がホスト M/C に接続できない
Hyper-V がホストと通信できない場合は、仮想ネットワークの設定、ファイアウォールのブロック、または VLAN 設定に問題がある可能性が高いです。ここでは、おそらく解決につながると思われる修正方法をまとめています。設定によっては、これらの変更後に再起動するだけで解決する場合もありますが、その他の場合はもう少し詳しく調べる必要があるかもしれません。
デフォルトスイッチを外部スイッチに変更する
正直なところ、デフォルトのNATネットワークは不安定な場合があるため、これは良い出発点となります。外部スイッチに切り替えると、VMが物理ネットワークに直接接続されるため、信頼性が高くなる傾向があります。
- Hyper-V マネージャーを開き、 [アクション]パネルの[仮想スイッチ マネージャー]に移動します。
- 左側の「新しい仮想ネットワークスイッチ」を選択し、「外部」タイプを選択して「仮想スイッチの作成」をクリックします。当然ながら、Windows は本来よりも難しい設定をしています。
- わかりやすい名前を付け、「接続の種類」で「外部ネットワーク」を選択します。ドロップダウンから、インターネットに接続するネットワークアダプターを選択します。通常は有線またはWi-Fiです。
- 「管理オペレーティングシステムがこのネットワークアダプタを共有することを許可する」にチェックを入れます。「適用」または「OK」をクリックします。プロンプトが表示されたら「はい」と答えます。
- Hyper-Vに戻り、問題が発生しているVMを選択し、「設定」に進みます。「ネットワークアダプタ」で古いスイッチを選択し、新しい外部スイッチに変更します。「OK」をクリックします。
VMを再起動して、問題が解決したかどうかを確認してください。問題が解決しない場合は、次の修正に進んでください。
デフォルトスイッチに静的IPを設定する
デフォルトのNATベースのネットワークは、特にWindowsがアドレス割り当てに何らかの異常をきたした場合、信頼性が著しく低下することがあります。静的IPを強制することで、この状況を回避し、予測可能な直接通信リンクを構築できます。そのため、この修正は、VMがホストと通信できない場合に非常に役立ちます。
- [実行]ダイアログ ( )からncpa.cplを開きます。これにより、ネットワーク接続が開きます。Windows + R
- vEthernet(デフォルトスイッチ)を見つけて右クリックし、「プロパティ」に移動します。 「インターネットプロトコルバージョン4(TCP/IPv4)」をダブルクリックします。
- [次の IP アドレスを使用する]を選択し、以下を入力します。
- IPアドレス: 192.168.137.1
- サブネットマスク: 255.255.255.0
- デフォルトゲートウェイとDNSを空白のままにして、「OK」をクリックします。とても簡単です。
- 次に、VMにログインし、「設定」 > 「ネットワーク」 > 「イーサネット」に進みます。 「アダプターのオプションの変更」で、アクティブなイーサネットを右クリックし、「プロパティ」を選択します。
- もう一度インターネット プロトコル バージョン 4 (TCP/IPv4)を開き、次の IP アドレスを使うを選択して、次のように入力します。
- IPアドレス: 192.168.137.10
- サブネットマスク: 255.255.255.0
- デフォルトゲートウェイ: 192.168.137.1
- DNSを192.168.137.1、または8.8.8.8などのパブリックDNSに設定します。「OK」を2回クリックして、すべてを閉じます。
接続をテストし、VM(ping 192.168.137.1
)からホストにpingを実行して、正常に動作するかどうかを確認してください。それでも動作しない場合は、そのまま進めてください。
ホストファイアウォールルールを確認する
ファイアウォールのルールは、ユーザーが気付かないうちに必要なトラフィックをブロックしてしまうことがあります。特に最近のアップデートやインストール済みのルールがうまく機能していない場合は、Windows Defenderファイアウォールが原因となることが多いです。コアネットワークプロトコルが許可されていることを確認することをお勧めします。
- 「実行」ダイアログからwF.mscを開きます。これにより、ファイアウォールの詳細設定が直接開きます。
- 「受信の規則」をクリックします。 「ファイルとプリンターの共有」の規則を見つけて右クリックし、 「プロパティ」を選択します。
- 「詳細設定」タブに移動します。ドメインプロファイルとプライベートプロファイルの両方にチェックが入っていることを確認してください。ルールが有効になっていることを確認してください(「有効」の下に「はい」と表示されているはずです)。
それでも不安定な場合は、VMのIPアドレスからのすべてのトラフィックを許可する新しい受信ルールを作成することを検討してください。ファイアウォールを少しだけ開放するだけで、ネットワーク間の相互接続が改善される場合もあります。
VLAN識別を無効にする
VLAN IDが間違っていたり一致していなかったりすると、スイッチに向かって大声で叫んで、ちゃんと聞いてくれることを期待しているようなものです。VLANタグの設定が間違っていると、トラフィックがホストから分断されたり、通信が完全にブロックされたりする可能性があります。特に、VM設定でVLAN IDを設定したにもかかわらず、スイッチがそれを想定していない場合は、その傾向が顕著になります。
- Hyper-V マネージャーを開き、VM を右クリック >設定 を選択します。
- ネットワーク アダプタセクションに移動します。
- VLAN IDで、仮想 LAN 識別を有効にする のチェックを外します。
- 「OK」を押します。
ほとんどの場合、これにより、特に複雑なネットワーク設定の場合に、VM とホスト間の通信をブロックする VLAN の競合が解消されます。
Hyper-V仮想スイッチ構成をリセットする
これは一種の核心的な選択肢ですが、仮想スイッチの設定が破損したり、根本的な部分で誤った設定がされている場合に必要になることがあります。ただし、後でスイッチを再作成する必要があることに注意してください。
- 管理者 PowerShellウィンドウを開き、次を実行します。
Get-VMSwitch | Remove-VMSwitch -Force
これにより、すべての仮想スイッチが削除されます。次に、関連付けられている仮想アダプターを削除するには、次のコマンドを実行しますGet-NetAdapter | Where-Object {$_. Name -like "*vEthernet*"} | Remove-NetAdapter -Force
。その後、ホストPCを再起動し、ネットワークスイッチを最初から再設定します(通常はホスト上のHyper-Vマネージャーから)。
これにより、隠れたバグが排除され、仮想ネットワーク スタックがリセットされ、VM ホスト通信の永続的な問題が修正されるはずです。
VMのバージョンとホストの不一致を修正する方法
場合によっては、VM が新しいバージョンの Hyper-V で作成されており、ホストが遅れていることがあります。ホストを対応するバージョン、またはより新しいバージョンに更新すると、互換性の問題は通常解決します。OS が最新になったら、Hyper-V マネージャーから VM をアップグレードします。VM を右クリックし、「仮想マシンのアップグレード」オプションが表示されたらそれを選択します。一部のバージョンでは、ホストのバージョンに合わせて手動で VM を変換またはインポートする必要がある場合もあります。
VM がネットワークに接続しないのはなぜですか?
これは多くの場合、VMの仮想ネットワークアダプタが誤ったスイッチまたは分離されたスイッチにバインドされているか、ホストNICがファイアウォールによってブロックされていることが原因です。VM設定で仮想スイッチの割り当てを再確認し、ホストNICが有効で機能していることを確認し、ホストとVMの両方でファイアウォールルールを確認してください。VMのネットワーク設定でネットワークアダプタのオン/オフを切り替えるだけで、問題が解決する場合もあります。