WSLでディストリビューションを起動しようとしたところ「WslRegisterDistribution failed with error: 0x8007019e」が表示されました。この状況を解消する方法として正しいものはどれですか?
解説
エラーコード0x8007019eは、WSLのWindows機能(オプションコンポーネント)自体が有効化されていないことを意味します。ディストリビューションはMicrosoft Storeからインストールできますが、それだけではWSLは動作しません。Windows側でWSL機能を有効にする必要があります。選択肢Aの再インストールはディストリビューション側の問題ではないため無意味です。選択肢Bのwsl --updateはWSL自体が有効でなければ実行できません。選択肢Dはデフォルトバージョンの指定であり、機能の有効化とは別の話です。WSLを有効にする2つの方法GUIで行う場合は「コントロールパネル → プログラムと機能 → Windowsの機能の有効化または無効化」から「Windows Subsystem for Linux」にチェックを入れます。コマンドで行う場合はPowerShellを管理者権限で開いて以下を実行します。dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartWSL 2を使う場合はさらに「仮想マシン プラットフォーム」も有効にする必要があります。dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartいずれも有効化後にPCの再起動が必要です。なぜディストリビューションだけインストールできてしまうのか初学者が混乱しやすいポイントですが、Microsoft StoreのUbuntuなどのディストリビューションは通常のアプリとしてインストールされるため、WSL機能が無効でもインストール自体は成功します。しかし実際に起動しようとすると、WSLのランタイムが存在しないためこのエラーになります。現在はwsl --installコマンドを使えばWSL機能の有効化とディストリビューションのインストールをまとめて行えるため、この手順の抜け漏れは起きにくくなっています。それでも企業のPCなどでグループポリシーによりWindows機能が制限されている環境では、手動での有効化が必要になるケースがあります。