起動しなくなったWSL2を復活させるまでにしたあれこれ
WSL2が何もしていないのに(カーネルビルドしたら)壊れた
WSL2でカーネルビルドとかしていたらUbuntuが一切立ち上がらなくなりました。
Ubuntuを再インストールしても以下のようなエラーが出続けます。
仕方なく復帰を試みることにしました。
無事復帰するまでの試行錯誤です。
Ubuntuアンインストール
「アプリ -> アプリと機能」からUbuntuをアンインストールします。軽症だったら、リセットするだけで復帰するみたいです(リセットは詳細オプションから選択できます)。私はダメだったのでアンインストールしました。
WSL2無効化→有効化
Ubuntuアンインストールでダメな場合(ダメでした)、WSL2を一回機能をオフにして再起動します。
「コントロールパネル -> プログラム -> Windowsの機能の有効化または無効化」を選択します。
「Linux用Windowsサブシステム」のチェックを外して再起動します。
再起動したら再度「コントロールパネル -> プログラム -> Windowsの機能の有効化または無効化」を選択して、「Linux用Windowsサブシステム」のチェックをつけて再起動します。
再度Ubuntuをインストールすれば復帰するはず…が無慈悲なWslRegisterDistribution failed with error
その他の試行錯誤
ネットで効果があったと書かれているコマンドを試します。管理者権限でPowerShellを起動して、以下コマンドを実行します。
sfc /scannow
dism /online /cleanup-image /restorehealth
意味はわかっていませんが、色々いい感じにクリーンナップしてくれるようです。これも効果なし
.wslconfig
を退避して復帰
絶望しかけて、症状をツイートしてふて寝していたところに神(@PINTO03091氏)の声が!
これだと思いc:\Users\<user name>
以下にある.wslconfig
を退避(適当な名前に変更)したところ、今までの苦労が嘘のようにあっさり復活。
WSL環境のバックアップ
他、export/importを使ったWSL環境のバックアップ方法も教えていただきました。次は使ってみたいです(今回Ubuntu環境をぶっ飛ばしてしまいました…)
指定されたファイルの仮想ディスク サポート プロバイダーが見つかりませんでした
「指定されたファイルの仮想ディスク サポート プロバイダーが見つかりませんでした」と表示されて起動できないときがありました。
Windowsアップデートが来ていたのが気になって、Windowsを何回か再起動したら直りました。謎。
まとめ
WSL2を復帰するまでの試行錯誤をまとめました。
もともと @PINTO03091 さんの以下記事のやつをやりたかっただけなのですが、訳わからずコピペしてたのがダメでしたね。
今見直して、なんでダメだったか完全に理解しました。また再チャレンジしようと思います。
参考リンク
関連記事
Discussion