🌧

WSL2が急に起動しなくなった

2022/08/24に公開

まさに "何にもしてないのに壊れた"

急にWSL2が起動しなくなってしまいました。俗に言う『何にもしてないのに壊れた』です。

何もしてないのに壊れた[単語] - ニコニコ大百科

https://twitter.com/m2nnee/status/1562325410192302084

死ぬ前まで雷が鳴っていたので雷のせいにでもしてやろうと思いましたが、そんな都合のいいことなどはないので復旧を試みます。

何が起きたのか

ひとまず、何が起きたのかさっと書き出してみます。

  • WSL2のディストリビューション Arch Linux が起動しなくなり、シェル(zsh)が表示されなくなった。
  • WSL2が死んでいるので当然で Docker が死んでしまい、今有効な全てのイメージが利用できなくなった
  • WSL2とは関係ないWebStorm(JetBrains IDE)が死ぬ ←???

試したこと

再起動

機械をぶっ叩くとか言ってるのは昭和の人間です。

今は令和なので、ぶっ叩かず、再起動してみます。

結果は直りません。

WSL2のシャットダウンをしてみる

WSL2は次のコマンドで、シャットダウンすることができ、WSL2で起こる大抵のことが解決するまさに神のコマンドです。

wsl --shutdown

が、どうやらWSL2本体毎逝ってるみたいで、コマンドのレスポンスはありませんでした。(確かに死んでる以上、これで直るわけがない)

Windowsのオプション機能を一度OFFにしてみる

WSLを有効化にする設定である Linux用 Windowsサブシステム(または Windows Subsystem for Linux) を無効にして有効にしてみました。

検索窓に Windowsの機能の有効化または無効化 を入力し、開きます。

Windowsの機能の有効化または無効化のウィンドウ

Linux用 Windowsサブシステム を無効にして OK をクリックすると再起動を求められるので再起動します。

再起動が完了したらもう一度、Linux用 Windowsサブシステム を有効に戻して再起動するとDockerが正常に起動されました。

直ったと確信し、Windows Terminalを開いたら...

Arch Linuxのneofetch

直ってました。

まとめ

その後、色々調べてみると、WSL2自体の不具合だとかいろいろ出てきました。

Arch Linuxや前任のUbuntu、Dockerが死ぬことは今まで何度かありましたが、WSL2自体は死んでしまうことはなかったので流石に焦りました。(万が一死んでもdotfilesとして管理はしているので困りませんが、それでも怖いものは怖え...)

何がともあれ、直せたのでよかった!

https://twitter.com/m2nnee/status/1562334140015337472

Discussion