Introduction
いい加減、Docker Desltop の起動の遅さやあまりにも多い更新に嫌気がさして、久しぶりに WSL で Docker を起動…しようと思ったら起動しなくて焦ったのでメモ。
What happend?
1. ERROR_FILE_NOT_FOUND
こんなエラーが出た。
1 | $ wsl |
結構長い時間をかけた挙句のエラー。
エラーを調べると下記の Issue が見つかる。
WSL2 can’t start after VMware 17.6.0 incident, virtual networking missing #12055
Issue の報告をした人がかなり丁寧な人物で問題点と気づいた点を詳細にしていたようで、原因はアンインストールした際に余計なネットワーク設定が残っているからでは、と推測していた模様。
その上で自分で解決した模様。
自分が遭遇した事象と全く同じで、自分も VMWare Workstaion をつい先日アンインストールしていた。
デバイスマネージャーを見ると、 Hyper-V 仮想スイッチ拡張アダプター にエクスクラメーションマークがついている。
プロパティを見てみるとエラーが発生していることがわかる。
解決方法は、不要なレジストリを削除し、ネットワーク設定をリセットするというもの。
確かにアンインストールしたはずの VMware のネットワーク設定がレジストリに残っている。
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{3d09c1ca-2bcc-40b7-b9bb-3f3ec143a87b} を削除し、ネットワーク設定をリセットする。
再起動後、ネットワーク設定が本当に初期化されるので、KVM なり直接ログインするなりして、適宜設定。
自分は MAC アドレスに従って固定 IP をアサインするよう設定した DHCP だったので特に苦も無かった。
再起動後、Hyper-V 仮想スイッチ拡張アダプター が消えているがにエクスクラメーションマークが消えたのでまずは良しとする。
2. 仮想ネットワークを作成できませんでした
再び wsl を起動すると、Issue で報告されていなかったエラーが。
1 | $ wsl |
こちらも別 Issue が報告されている。
WSL Networking Broken in 2.0.7 #10709
英語だと
1 | wsl: Failed to create virtual network with address range: '172.24.224.0/20', created new network with range: '172.18.16.0/20', The object already exists. |
このような表記になる。
解決策 によると、下記を %USERPROFILE%\.wslconfig に下記を追加し、wsl を再起動 (wsl --shutdown) することで解決する、と。
1 | [experimental] |
3. DNS トンネリングはサポートされていません
まだ解決できない。
先の設定の中にある dnsTunneling=true が影響してエラーになっている。
この dnsTunneling は、Windows 11 22H から導入された機能であり、それ以前の環境で使えないので dnsTunneling=false に変更し、wsl を再起動。
DNS トンネリングについては、DNS トンネリング を参照
以上で無事に成功したことを確認。








