Windows 11にWindows Subsystem for Linux(WSL)をインストールすると、環境の切り替えにうんざりしている方や、Linuxをシームレスに使いたい方にとって、状況は劇的に変わります。しかし、正直なところ、インストールは必ずしも簡単ではありません。機能が正しく有効化されなかったり、インストールスクリプトがサイレントに失敗することもあります。システムがスムーズに動作しない場合は、前提条件が不足しているか、コンポーネントが古くなっている可能性があります。このガイドでは、WSLを起動して実行するためのいくつかの方法を詳しく説明します。Windowsの機能を調整する方法もあれば、コマンドラインのトリックを使用する方法もあります。最終的にWindowsと並行してLinuxコマンドを実行できる、正常に動作するセットアップを目指します。
Windows 11 での WSL インストールの問題を修正する方法
まずWindowsが完全に更新されていることを確認してください
Windowsが最新ビルドでない場合、WSLの動作が不安定になったり、インストールされなかったりする可能性があります。「設定」>「Windows Update」で更新プログラムを確認してください。保留中のパッチがあればインストールし、再起動してからもう一度お試しください。環境によっては、この簡単な修正で互換性の問題を解消できる場合があります。
最新のパッチをすべて適用すると、システムがWSLに必要な新機能を認識する可能性が高まります。さらに、新しいビルドではインストールを妨げる可能性のあるバグが修正されている傾向があります。
PowerShell 経由で WSL と仮想マシンの機能を手動で有効にする
GUIではうまく動作しない、またはオプションがグレー表示になっている場合があります。管理者としてPowerShellを開き(スタートメニュー > 「PowerShell」と入力 > 右クリック > 管理者として実行)、以下のコマンドを実行してください。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
これらのコマンドは、WSLに必要なコアコンポーネントを明示的に有効化します。また、特に新しいWindowsやカスタマイズされたWindowsのインストールでは、GUIがうまく動作しないケースでも、これらのコマンドは成功する傾向があります。
これらを実行した後、システムを再起動してください。再起動しても機能が正しく有効化されない場合があります。その場合は、「設定」>「アプリ」>「オプション機能」で、機能が実際にオンになっていることを確認してください。不具合などにより、機能がオフに戻ってしまう場合もあります。
コマンドラインを使用してWSLを直接インストールする
機能を手動で有効にできなかった場合、または WSL が通常のルートでインストールされない場合は、PowerShell でインストール コマンドを実行してみてください。
wsl --install
このコマンドは最近のWindows 11ビルドで導入され、最新のWSLバックエンドのインストールと設定を含むプロセス全体を自動化します。場合によっては、管理者権限のPowerShellウィンドウ内で実行する必要があります。「コマンドが見つかりません」などのメッセージが表示される場合は、Windowsのバージョンを確認してください。WSL 2にはWindows 11バージョン21H2以降が必要です。
一部のマシンでは、WSLカーネルを手動でアップデートする必要がある場合があります。https ://aka.ms/wsl2kernelにアクセスし、指示に従って最新のLinuxカーネルアップデートパッケージを入手してください。その後、再度実行して、wsl --set-default-version 2WSL 2がデフォルトになっていることを確認してください。
Microsoft Store から Linux ディストリビューションをインストールする
WSL をインストールしたら、Microsoft ストアを開き、Ubuntu、Debian、Kali Linux などの Linux ディストリビューションを探してください。ストアにバグが発生したり、ネットワーク接続が不安定になったりする場合があります。インストールが開始されない場合は、Microsoft ストアのキャッシュをリセット ( wsreset.exe) するか、ストアのトラブルシューティング ツールを実行してみてください。
お好みのディストリビューションを選んでインストールし、スタートメニューから起動してください。ターミナルウィンドウが開き、セットアップが完了します。もしそうでない場合は、wsl --list --verbosePowerShellで実行することで、ディストリビューションが認識され、バージョン2に正しく設定されているかどうかを確認できます。
それでも壊れる場合の追加のヒント
- Hyper-Vが有効になっていることを確認してください。WSLはHyper-Vに依存する場合があり、有効になっていないと問題が発生します。「Windowsの機能の有効化または無効化」またはPowerShellで以下のコマンドを実行することで有効にできます。
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestart - 仮想化関連のエラーが発生した場合は、BIOS設定を再度ご確認ください。PCを再起動し、BIOS画面でIntel VT-xまたはAMD-Vがオンになっていることを確認してください。
- WSL が起動しない場合は、ディストリビューションをアンインストールして再インストールするか、
wsl --shutdown実行してから再起動するだけで十分な場合があります。
一部の設定では、機能を有効にしたりコンポーネントを更新したりした後に完全に再起動すると、すべてが正しく同期されるようになります。なぜそうなるのかは分かりませんが、とにかくそうなるのです。
まとめ
Windows 11 に WSL を正しくインストールするのは、機能の切り替え、BIOS 設定の確認、コマンドの実行など、少々手間がかかるかもしれません。しかし、これらの手順がうまくいけば、すべてがスムーズに進み、仮想化のオーバーヘッドを気にすることなく、Windows 上で Linux コマンドを実行できるようになります。もしうまくいかない場合は、各手順に戻って、特にすべての機能が有効になっていること、そして Windows のバージョンが最新であることを確認してください。場合によっては、Linux ディストリビューションを再インストールするだけで、問題が解決することもあります。
まとめ
- 互換性の混乱を避けるため、機能を詳しく調べる前に Windows を更新してください。
- GUI または PowerShell コマンドを使用して、WSL と仮想マシン プラットフォームを有効にします。
- 利用可能な場合は実行する
wsl --installか、Microsoft のサイトからカーネルを手動で更新します。 - 仮想化が認識されない場合は、BIOS 設定を確認してください。
- 大きな変更を行った後は再起動してください。適切なタイミングで再起動しないと、Windows がバグを起こしやすくなります。