先日、WSLが突如起動しなくなるトラブルに見舞われました。

Twitterのほうで、解消までの顛末をつぶやいていたので、こちらでは解消のために実施すべき手順だけ簡単に記しておきます。

発生した事象

  • Windows Terminalを起動すると、「ユーザー設定の読込中にエラーが発生しました」と表示され、WSLのシェルが表示されなくなる(代わりに、設定ファイルの下位に記述されているPowerShellが起動する)
  • WSL(Ubuntu)を直接実行しても、プロンプトが表示されず反応なし
  • Ubuntu以外のディストリビューションをインストールしてみても、同様の状況
  • 「コンピューターの管理」でシステムイベントログをみると、ID10016が記録されていた

詳しい事象については、Twitterのほうに書いてますので、そちらも併せてご覧ください。

環境・バージョンなど

  • Windows 10 Pro 20H2 (OSビルド: 19042.782)
  • Windows Subsystem for Linux Update 5.4.72
  • Windows Terminal 1.2.2381.0

対処方法

  1. レジストリエディタから、「PerAppRuntimeBroker」の所有者をAdministoratorsに変更
  2. コンポーネントサービスから、「PerAppRuntimeBroker」の「起動とアクティブ化のアクセス許可」にSYSTEMを追加
  3. レジストリエディタから、「PerAppRuntimeBroker」の所有者をTrustedInstallerに戻す

以上です。

今回、事象を解決できたのは、WSL自体で問題が起きているらしいと推測できたことと、そこからWindowsのシステムログを確認しようと思い至ったことがきっかけでした。

原因の切り分けと、ログの確認を地道に行うという、トラブルシューティングの鉄則が効果てきめんだったという事例です。

操作方法については、とても詳しく説明しているWebサイトが多数ありますので、そちらを参照されるとよいかと思います。

あなたのお役に立てれば幸いです。