結論:最終的な解決策
WSL2のネットワークモードを「NAT」から「ミラーモード」に変更します。
- Windowsのエクスプローラーで
C:\Users\<ユーザー名>\(ホームディレクトリ)を開く -
.wslconfigというファイルを作成する(既にある場合は開く) - 以下の内容を記述して保存
[wsl2]
networkingMode=mirrored
4. PowerShellでWSLを再起動
wsl --shutdown
これで解決しました。
発生していた問題
WSL2 (Ubuntu) 起動時に以下のメッセージが表示され、ネットワーク接続が極端に遅い、または繋がらない状態でした。
VSCodeのRemote接続やCopilotも動作しません。私としては、VSCodeの拡張機能をインストールできない部分が最も困りました(ほかはそこまで困っていませんでした)。
wsl: ネットワーク (networkingMode Nat) を構成できませんでした。networkingMode VirtioProxy にフォールバックします。
試しても効果がなかったこと
以下の一般的な解決策は、私の環境では効果がありませんでした。
-
/etc/resolv.confのDNS手動書き換え - Windowsの「ネットワークのリセット」
- HNSサービス (
Restart-Service hns) の再起動 - Windows機能(Hyper-V / 仮想マシンプラットフォーム)の無効化・再有効化
-
.wslconfigでnetworkingMode=natを強制する - WSL環境のリセット
- Windowsのクリーンインストール
Windowsのクリーンインストールを行っても解決せず、かなり困りました。
発生原因
突然発生したため、おそらくWindowsUpdateの影響で私のネットワーク環境との相性問題が発生したかと思われます。
解説
WSL 2.0.0以降で追加された mirrored モードを使用することで、従来のNAT変換(Hyper-Vスイッチ)に依存する古いネットワークアーキテクチャをバイパスし、Windowsホストのネットワークインターフェースを直接ミラーリングすることで解決したようです。