Windows 11 に Linux をインストールするのはかなり簡単そうに聞こえますし、理論上はその通りです。でも、以前に WSL をいじったことがある人なら、テクノロジーというものは時々ちょっと厄介なものになり得ることをご存知でしょう。WSL が有効にならなかったり、Linux ディストリビューションが起動しなかったりといった問題に遭遇することは珍しくありません。ときには、通常のクリックスルーよりも少しいじくり回す必要があることもあります。このガイドは、私がそういったハードルを乗り越えるのに役立ったようなものです。基本的に、WSL がスムーズに動作しない場合 (機能がオンにならない、ディストリビューションが宙ぶらりんになっているなど)、これらのトリックで再びスムーズに動作する可能性があります。そうです、Windows が重い処理をするはずの場合でも、必要以上に複雑にしてしまうことがあるからです。すべてがセットアップされると、ターミナルから Linux コマンドを直接実行できるようになります。これは画期的なことです。
Windows 11 で WSL と Linux のインストール時によくある問題を解決する方法
WSLが実際に有効になっているか確認し、正しく実行する
WSLが正しく有効化されていることを確認してください。 「Windowsの機能の有効化または無効化」で有効化するだけなら、それで問題ありません。しかし、場合によっては、Windowsが機能をどのように有効化したかを正確に再確認する必要があります。より確実な方法は、PowerShellを使うことです。管理者としてPowerShellを開き、以下を実行します。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
このコマンドは、WSLがシステムレベルで有効化されていることを確認します。また、仮想マシンプラットフォームコンポーネントを有効にすることも忘れないでください。環境によっては、ここで魔法のような効果が得られる場合があります。以下を実行してください。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
両方を実行したら、PCを再起動してください。Windowsでは、すべての調整に少し手間がかかる場合があります。それでもWSLが起動しない場合は、BIOS設定で仮想化テクノロジー(Intel VT-xまたはAMD-V)が有効になっているかどうかを確認してください。少し奇妙に思えるかもしれませんが、Windows 11はWSL 2が正常に動作するために、この設定に依存しています。
すべての更新プログラムがインストールされていることを確認する(WindowsとWSLも)
Windows またはシステムコンポーネントが最新でないと、動作が不安定になる可能性があります。「設定」>「Windows Update」を開き、すべてが最新であることを確認してください。特に古いビルドをお使いの場合は、WSL 2 が動作しない可能性があります。正確なバージョンを確認するには、実行してWin + R入力してみる価値がありますwinver。21H2 以上でない場合は、まず更新してください。また、WSL 自体については、最新のカーネルアップデートが必要になる場合があります。Microsoft WSL 2 カーネルアップデートページからダウンロードしてください。
WSL 2に明示的に切り替えてみる
ディストリビューションをインストールしたにもかかわらず、WSL 1 がデフォルトになっている場合は、それが問題の原因である可能性があります。以下のコマンドで、ディストリビューションのバージョンを確認してください。
wsl -l -v
お使いのディストリビューションがバージョン1と記載されている場合、切り替えは簡単です。以下を実行してください。
wsl --set-version 2
<distro-name>をお使いのLinuxディストリビューション(Ubuntuなど)に置き換えてください。このプロセスにより、WSL 2はシステムコールの互換性が向上し、動作速度が大幅に向上するため、信頼性が高くなる傾向があります。一部のマシンでは、最初の切り替えが失敗したり、フリーズしたりする場合があります。その場合は、再起動後にもう一度お試しください。
壊れたインストールや破損したディストリビューションを修復する
Linuxディストリビューションの動作がおかしくなった場合(クラッシュ、起動しない、動作がおかしいなど)、リセットまたは再インストールすると改善する可能性があります。PowerShellを管理者として開き、以下を入力してください。
wsl --unregister
これにより、古いファイル(おそらく破損しているファイル)が消去されます。その後、Microsoft Store に戻り、Linux ディストリビューションを再インストールします。ある環境では最初の再インストールで問題なく動作しましたが、別の環境では再起動して再度試す必要がありました。
システムのWindowsターミナルまたはコマンドプロンプトの設定を確認してください
場合によっては、ターミナルが正しく設定されていないことが問題の原因となることがあります。LinuxシェルをWindowsターミナルから起動しているか、スタートメニューから直接起動しているかを確認してください。ターミナルのデフォルトプロファイルが正しいディストリビューションを指していることも再度確認してください。プロファイルを非表示にしたり、誤って設定したりしていると、WSLコマンドが期待どおりに実行されない可能性があります。
環境構成とプロキシ/ファイアウォールの設定を確認する
企業のファイアウォールやVPNがWSLのネットワーク機能に干渉することがあります。特にディストリビューションやカーネルアップデートのダウンロード時に顕著です。接続に問題がある場合は、VPNを無効にするか、プロキシ設定を一時的に調整してください。また、必要に応じてネットワーク設定のリセットも検討してください。簡単なネットワークリセットで改善する場合もあります。
netsh winsock reset
これは、WSL が接続できない場合や更新プログラムを正しくダウンロードできない場合に役立ちます。
もちろん、Windows は必要以上に難しくすることもあります。しかし、これらの手順でよくある落とし穴のほとんどをカバーできるはずです。一部のマシンでは、これらのコマンドと調整を実行するには、忍耐と数回の再起動が必要です。
まとめ
- PowerShell コマンドを使用して、WSL と VM プラットフォームが有効になっていることを確認します。
- Windows を常に最新の状態に保ち、最新の WSL カーネルをインストールします。
- 必要に応じて明示的にWSL 2に切り替える
- ディストリビューションがおかしくなった場合は再インストールまたはリセットする
- システムの仮想化とBIOS設定を確認する
- アップデートやダウンロードが停止した場合は、ネットワーク/ファイアウォールの問題を考慮する
まとめ
WSL の問題のトラブルシューティングは結局のところ少し面倒ですが、一度問題が解決すれば、Windows 上で Linux をスムーズに実行できるようになります。なぜ時々ハングしたり、正常に有効化されなかったりするのかは分かりませんが(Windows はユーザーに常に気を配りたいだけなのかもしれません)、これらの手順のおかげで何度か助かりました。Linux をスムーズに起動したい人にとって、これが数時間の節約になれば幸いです。
コメントを残す