Windows 11でWSLの問題を解決する方法
Windows 11マシンでWSL(Windows Subsystem for Linux)が突然動作しなくなったり、エラーが表示されたりすると、特に実際に作業をしようとしている最中に、かなりイライラさせられます。場合によっては、Windowsが古いだけの問題だったり、WSLが正しく有効化されていないだけだったりすることもあります。このガイドでは、よくある修正方法をいくつかご紹介します。確かにうまくいく場合といかない場合がありますが、ほとんどの場合、これらの手順でLinux環境を完全に再インストールすることなく復旧できます。更新プログラムの確認、いくつかの機能の切り替え、コマンドの実行などが必要になります。それほど複雑な作業ではありませんが、まるでWindowsを実際に修復しようとしているような気分になるかもしれません。
Windows 11でWSLが動作しない問題を修正する方法
Windowsが完全に最新であることを確認する
これは通常、最初に確認することです。WSL は、バグがあったり古くなったりする可能性のある一部の Windows 機能に依存しています。Windows 11 のバージョンが最新でない場合、WSL の動作が悪かったり、まったく起動を拒否したりする可能性があります。確認するには、[設定] > [Windows Update]に移動し、[更新プログラムのチェック]をクリックします。更新プログラムがある場合はインストールして、再起動します。Microsoft は WSL 関連の修正プログラムを更新プログラムに隠して展開する傾向があるため、最新のパッチを取得するだけでバグが修正される場合があります。セットアップによっては、更新後の再起動は無意味に思えるかもしれませんが、安全を期す方が良いでしょう。更新後に適切に再起動すると、WSL が魔法のように機能し始めるマシンをいくつか見てきました。これは少し奇妙ですが、まあ、機能します。
Windowsの機能メニューからWSL機能を有効にする
これは基本的なことです。でも、飛ばさないでください。WSL が OS レベルで有効になっていないと、どのようなコマンドを実行しても何も機能しません。そこで、検索に「Windows の機能」と入力します。[ Windows の機能の有効化または無効化] をクリックします。次に、下にスクロールして[Linux 用 Windows サブシステム]を見つけます。チェックが入っていることを確認します。また、WSL 2 を正常に実行するために必要なのは仮想マシン プラットフォームであるため、これを有効にすることを検討してください。[OK] をクリックすると、Windows は再起動を求めます。再起動しても WSL が実行されない場合は、これらの手順を繰り返します。もちろん、Windows は必要以上にイライラさせる必要があるためです。一部のマシンでは、これはすぐにはアクティブにならないため、2 回目の再起動が役立つ場合があります。
WSLのインストールと構成を確認する
すべてが有効になったら、管理者としてPowerShellを開き、次のコマンドを実行します。
wsl --list --verbose
これは、インストールされているディストリビューションとその現在の状態をチェックします。エラーが表示されたり、状態が悪かったりする場合は、Linuxディストリビューション、あるいはWSL自体を再インストールする必要があるかもしれません。WSLエンジンが不安定な状態になっている場合があり、リフレッシュ(つまり、WSLを再起動して状態をリセットする)が必要になることがあります。場合によっては、WSL 2に手動でアップグレードすると改善されることもあります。「wsl --set-default-version 2実行」をクリックすると、特にパフォーマンスの問題や奇妙なエラーが発生している場合は、最新かつ最速のバージョンを使用していることを確認できます。一方、ある環境ではすぐに動作しましたが、別の環境では、登録されるまでに2回実行する必要がありました。
それでも問題が解決しない場合は、WSLを再インストールしてください
他に方法がない場合は、完全なリセットをお試しください。 「設定」 > 「アプリ」 > 「オプション機能」に進みます。WSLが表示されたらアンインストールします。表示されない場合は、次の手順に進みます。WSLを完全に削除するには、次のようなPowerShellコマンドを使用する必要がある場合があります。
dism /online /disable-feature /featurename:Microsoft-Windows-Subsystem-Linux /norestart
仮想マシンプラットフォームについても同様です。無効にした後、再起動し、Windowsの機能メニューからチェックボックスを再度オンにしてWSLを再度有効にし、再起動してください。面倒に思えるかもしれませんが、WSLの内部構成が壊れてクリーンな再インストールしか方法がない場合もあります。
追加のヒントとよくある落とし穴
- お使いのWindowsのバージョンがWSL 2(Windows 11 バージョン21H2以降)をサポートしていることを確認してください。ビルド情報は「設定」 > 「システム」 > 「バージョン情報」で確認できます。
wsl --set-default-version 2互換性と速度を向上させたい場合は定期的に実行してください。- ほとんど何も動作しない場合は、BIOSで仮想化が有効になっているか確認してください。仮想化技術(Intel VT-xまたはAMD-V)が、知らないうちに無効になっている場合があります。設定>プライバシーとセキュリティ> Windows セキュリティ>デバイスセキュリティ>コア分離とメモリ整合性で確認できます。
- そしてもちろん、Microsoft の公式 WSL インストール ガイドを実行して、ディストリビューション (Ubuntu や Debian など) が正しくインストールされていることを確認してください。
まとめ
基本的に、これらの手順はWSLが動作し始めた際によくある原因に対処するものです。アップデートが原因の場合もあれば、クリーンインストールや設定の調整が原因の場合もあります。なぜうまくいくのかは分かりませんが、あるマシンではこの機能を有効にした後に再起動すると直りました。別のマシンでは、仮想マシンプラットフォームを有効にすると直りました。Windowsはこれらの機能に関して予測不可能な動作をすることがあるので、少しの忍耐が大きな効果を発揮します。この手順が、誰かが頭を悩ませることなくLinuxのワークフローに戻るのに役立つことを願っています。
まとめ
- Windowsのアップデートを確認して再起動する
- Windows の機能で WSL と仮想マシン プラットフォームを有効にする
- 実行して
wsl --list --verboseディストリビューションの状態を確認します - WSL 2をデフォルトに設定する
wsl --set-default-version 2 - 必要に応じてWSLを再インストールまたはリセットします
- BIOSで仮想化が有効になっていることを確認してください