Windows 11でHyper‑Vの仮想スイッチ経由でネットが使えないときは、まず「そのスイッチが本当に外に出られる種類か」「VMがそのスイッチにつながっているか」「IPアドレスを取れているか」を見れば、かなりの確率で原因を絞れます。External は外部ネットワークへ出られますが、Internal はホストと同一PC内だけ、Private はVM同士だけです。Windows 11 のクライアント版では Default Switch が既定で作成され、DHCP・ICS・NAT を備えているため、単に VM をネットへ出したいだけならこれが最短の回避策になります。 (Microsoft Learn)
つまずきやすいのは、外部スイッチで管理OSの共有が外れてホスト側まで通信が止まるケース、VM の仮想 NIC が別スイッチを向いているケース、カスタム NAT と既存 NAT が競合するケース、そして更新後にホスト側 NIC ドライバーが不安定になるケースです。以下、確認する順番と復旧手順を、すぐ試せる形で整理します。 (Microsoft Learn)
Windows 11でHyper‑Vの仮想スイッチ経由でネットが使えないときの結論
- インターネット接続だけが目的なら、まず
Default Switchを使うのが最短です。Windows 11 クライアントでは既定で用意され、DHCP・ICS・NAT が有効なため、追加設定を減らせます。 (Microsoft Learn) - VM を家庭内LANや社内LANと同じセグメントに出したいなら
Externalを使います。このときは、管理OSが同じ物理NICを使えるように共有を有効にするのが基本です。 (Microsoft Learn) - 検証用に独立したIP帯を自分で設計したいなら
Internal + NATが向いています。ただし、WinNAT はホストごとに 1 つに制限されており、DHCP を使うなら別途用意するか、ゲストに固定IPを設定する必要があります。 (Microsoft Learn)
5分で切り分ける確認手順
ホスト側で最初に見る項目
仮想スイッチの種類、VM の仮想NICの接続先、VLAN 設定、NAT 競合は、管理者権限の PowerShell でまとめて確認できます。Get-VMSwitch はスイッチ一覧、Get-VMNetworkAdapter はVMの仮想NIC、Get-VMNetworkAdapterVlan は VLAN、Get-NetNat は NAT を見るための基本コマンドです。仮想NICの接続先が違っていれば Connect-VMNetworkAdapter で付け直せます。 (Microsoft Learn)
Get-VMSwitch
Get-VMNetworkAdapter -VMName "VM名"
Get-VMNetworkAdapterVlan -VMName "VM名"
Get-NetNat
接続先が違うときは、たとえば次のように付け直します。
Connect-VMNetworkAdapter -VMName "VM名" -SwitchName "Default Switch"
これで「そもそも外に出られるスイッチか」「VM が想定スイッチにぶら下がっているか」「VLAN が噛んでいるか」「NAT が複数あって競合していないか」を一気に確認できます。 (Microsoft Learn)
ゲストOS側で見る項目
ゲストOSでは ipconfig /all で IP アドレス、デフォルトゲートウェイ、DNS を確認し、続けてデフォルトゲートウェイへ ping します。IP が 169.254.x.x なら DHCP でアドレスを取得できていない状態です。 (Microsoft サポート)
よくある原因と直し方
スイッチの種類が用途に合っていない
Hyper‑V の基本はここです。External は外部ネットワークへ出られますが、Internal はホストと同一ホスト上の VM のみ、Private は同一ホスト上の VM 同士のみです。Internal や Private を選んだまま「インターネットへ出したい」と考えていると、設定をいくら触っても外には出られません。 (Microsoft Learn)
判断基準はシンプルです。LAN 側から VM へ到達させたいなら External、単に VM から Web や更新サイトへ出られればいいなら Default Switch、固定IPで閉じた検証環境を作りたいなら Internal + NAT を選ぶと失敗しにくいです。 (Microsoft Learn)
外部スイッチで管理OSの共有が外れている
外部仮想スイッチでは、管理OSに同じ物理NICの共有を許可できます。逆にここが外れていると、単一NICのPCではホスト側がその NIC を使えず、ホストまでネット不通になりやすくなります。仮想スイッチの作成や変更では通信が一時的に中断する警告も出るため、Wi‑Fi接続中のノートPCほど影響が分かりやすく出ます。 (Microsoft Learn)
既存の外部スイッチを直すだけなら、まずは共有を有効にします。
Set-VMSwitch -Name "Ext-WiFi" -AllowManagementOS $true
内部またはプライベートの既存スイッチを削除せず外部へ寄せたい場合は、物理NICを指定して変更できます。
Set-VMSwitch -Name "Lab" -NetAdapterName "Wi-Fi" -AllowManagementOS $true
Set-VMSwitch は既存スイッチへ物理NICを結び付けることで外部スイッチ化でき、AllowManagementOS でホスト側共有も明示できます。 (Microsoft Learn)
VM の仮想NICが違うスイッチにつながっている
Hyper‑V では、スイッチ自体は正しくても、VM 側の仮想NICが別スイッチに接続されているだけで通信できません。テンプレートから複製したVMや、途中でスイッチ名を変更した環境で起きやすいパターンです。Get-VMNetworkAdapter で接続先を見て、違っていれば Connect-VMNetworkAdapter で付け直すのが先です。 (Microsoft Learn)
VLAN 設定が噛み合っていない
VLAN を使っている場合は、仮想スイッチ側と VM 側で同じ VLAN を前提に合わせる必要があります。Microsoft Learn でも、仮想スイッチで VLAN を設定した場合は、VM 側のネットワークアダプターにも同じ VLAN ID を指定する流れになっています。VLAN を設定した覚えが薄いのにネットが出ないなら、まず Get-VMNetworkAdapterVlan -VMName "VM名" で値を見てください。 (Microsoft Learn)
古いゲストOSでネットワークアダプター自体が合っていない
通常は高性能な Network Adapter を使うべきですが、古いOSでは統合サービスや合成NICに対応できず、Legacy Network Adapter が必要になることがあります。一方で Generation 2 VM では Legacy Network Adapter は使えません。古いゲストOSを動かしていて NIC が見えない、ドライバーが入らない、という場合は、VM 世代とアダプター種類をセットで見直してください。 (Microsoft Learn)
IP取得と NAT が詰まっているケース
169.254.x.x は DHCP 未取得のサイン
ゲストOSが 169.254.x.x になっているなら、まず DHCP を受け取れていません。Default Switch なら既定で DHCP・ICS・NAT を持っていますが、外部スイッチでは物理LAN側の DHCP に依存しますし、Internal + NAT を自前で組んだ場合は NAT だけ作っても DHCP まで自動で揃うわけではありません。 (Microsoft サポート)
Internal + NAT を使う場合の考え方は次の通りです。NAT ゲートウェイを作り、DHCP サーバーを別途用意するか、ゲストに固定IPを振ります。
New-VMSwitch -Name "LabNAT" -SwitchType Internal
# 作成後に Get-NetAdapter で ifIndex を確認
New-NetIPAddress -IPAddress 192.168.50.1 -PrefixLength 24 -InterfaceIndex <ifIndex>
New-NetNat -Name "LabNAT" -InternalIPInterfaceAddressPrefix 192.168.50.0/24
この構成では、ゲスト側も 192.168.50.0/24 に合わせて設定する必要があります。DHCP を使うなら別途 DHCP サーバー、固定IPにするならゲストOS側のIP設定が必要です。 (Microsoft Learn)
custom NAT が別の NAT と競合している
Windows の NAT はホストごとに 1 つが前提です。Microsoft Learn でも、複数 NAT を作るとシステムが不明な状態になる可能性があると案内されています。Docker や Windows コンテナー系の機能を後から入れたあとに Hyper‑V VM のネットだけおかしくなったなら、Get-NetNat で想定外の NAT が増えていないかを先に見てください。 (Microsoft Learn)
ここで大事なのは、見つけた NAT をいきなり全部消さないことです。どのアプリが使っている NAT かを確認してから整理しないと、別の仮想化機能まで巻き添えになります。Hyper‑V 側だけを直したいときほど、まず現状確認が先です。 (Microsoft Learn)
更新・ドライバー・権限の影響
ホスト側の NIC ドライバーや Windows 更新の影響で、Hyper‑V の外部スイッチが不安定になることがあります。最近の更新後からおかしいなら、再起動、Windows Update の確認、必要ならネットワークアダプタードライバーの再インストールまでを候補に入れてください。Microsoft Support でも、更新後に接続が壊れた場合はドライバーのアンインストールと再起動、Windows Update の確認を案内しています。 (Microsoft サポート)
ノートPCで Wi‑Fi を使っているなら、省電力設定も見落としやすいポイントです。Wi‑Fi アダプターのプロパティで「電力節約のためにこのデバイスの電源をオフにできるようにする」を外すだけで安定するケースがあります。 (Microsoft サポート)
また、仮想スイッチの作成・変更は管理者権限が前提です。Hyper‑V のスイッチ作成手順も「管理者権限を持っていること」「昇格した PowerShell セッションで実行すること」を前提にしています。権限不足のまま GUI や PowerShell を触ると、設定が途中で反映されず原因切り分けがブレます。 (Microsoft Learn)
目的別の最短復旧手順
とにかく今すぐ VM をネットへ出したい
Windows 11 のクライアントPCで、VM から Web に出られれば十分なら、まず Default Switch へつなぎ直すのが最速です。
Connect-VMNetworkAdapter -VMName "VM名" -SwitchName "Default Switch"
そのあとゲストOSで ipconfig /all を見て、IP とデフォルトゲートウェイが入っているかを確認します。DHCP が取り直せていないなら、ゲストOSの再起動や ipconfig /renew までで戻ることが多いです。 (Microsoft Learn)
VM を既存LANと同じ扱いにしたい
外から VM へ到達させたい、同じルーター配下の他端末と普通に通信したいなら External を使います。新規に作るなら、物理NICと管理OS共有を明示して作るのが安全です。
New-VMSwitch -Name "Ext-WiFi" -NetAdapterName "Wi-Fi" -AllowManagementOS $true
Connect-VMNetworkAdapter -VMName "VM名" -SwitchName "Ext-WiFi"
すでに外部スイッチがあるのにホスト側まで落ちるなら、共有設定を先に直してください。スイッチ作成・変更時は一時的に接続が切れるので、リモート作業中なら特に注意が必要です。 (Microsoft Learn)
固定IPで安定した検証用ネットワークを作り直したい
ラボ環境なら Internal + NAT を組み直すのが向いています。ただし、その前に Get-NetNat で既存 NAT の有無を確認し、想定外の NAT が残っていないことを見てください。WinNAT は 1 ホスト 1 つが基本なので、ここを見ずに作り直すと再発しやすいです。 (Microsoft Learn)
最後の手段としてやること
どうしてもホスト側のネットワークがぐちゃぐちゃになって戻らないなら、Windows の Network reset は有効です。ただし Microsoft Support でも「最後の手段」とされており、実行するとネットワークアダプターや設定が初期化され、Hyper‑V の仮想スイッチや VPN クライアントの再設定が必要になることがあります。先にスイッチ名と VM の接続先をメモしてから行うのが安全です。 (Microsoft サポート)
結局のところ、Windows 11 で Hyper‑V の仮想スイッチ経由でネットが使えない問題は、まず Get-VMSwitch でスイッチ種別を確認し、次に VM の接続先と IP 取得状況を見るのが最短です。インターネットだけなら Default Switch、同一LANに出したいなら External + 管理OS共有、固定IPのラボなら Internal + NAT と覚えておけば、かなりの確率で迷わず直せます。次にやるべきことは、今の用途がこの3つのどれかを決めて、スイッチをそれに合わせることです。 (Microsoft Learn)
:

コメント