WindowsでWSLをいじっていると、おそらく設定を完璧にしようとして頭を悩ませたことがあるでしょう。ハードウェアの構成は人それぞれで、正しいコマンドを使ってもうまく動作しないこともあります。Linuxディストリビューションが表示されなかったり、WSLが全くインストールされなかったりすることもあります。あるいは、環境が正常に動作していない、そんな経験はありませんか?このガイドでは、自動インストールがうまくいかない場合に、WSL2のトラブルシューティングと手動インストールを行うための一般的な方法を紹介することで、こうしたフラストレーションを軽減します。
WSL を適切に起動して実行できれば、開発、スクリプト作成、あるいは Windows で完全な Linux 環境を構築するなど、どのような用途でも大きな違いが生まれます。しかし、Windows やハードウェアの設定は多岐にわたるため、ボタンをクリックするだけでは済まないこともあります。そのような場合、詳細なコマンドとパスを知っておくことで、多くの時間を節約できます。特にコマンド 1 つでうまくいかない場合は、BIOS 設定の切り替え、機能の手動有効化、カーネルアップデートのダウンロードが必要になる可能性があります。
Windows での WSL のインストールとセットアップの問題を修正する方法
方法1: WSLと仮想マシンプラットフォームの機能を手動で有効にする
まず、「wsl –install」コマンドが機能しない場合は、多くの場合、必要なWindows機能が有効になっていないことが原因です。申し訳ありませんが、Windowsが一部の処理を担っているため、このプロセスは0x80070003や0x80370102などのエラーが発生した場合にも役立ちます。これらのエラーは通常、BIOSで仮想化が有効化されていないことを意味します。
- PowerShell を管理者として開きます ([スタート] メニューを右クリックし、[Windows PowerShell (管理者)] を選択します)。
- 必要な機能を有効にするには、次のコマンドを実行します。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
これらのコマンドはWSLと仮想化サポートを有効にしますが、デフォルトでは有効になっていないのが少し奇妙です。実行後はPCを再起動してください。これは非常に重要です。そうしないと、すべてが無効のままになり、再び問題が発生します。
方法2: WSL2カーネルを手動でインストールする
自動カーネルアップデートが失敗したり、システムが適切にダウンロードできなかったりすることがあります。WSL2 Linuxカーネルアップデートパッケージを手動でダウンロードすれば、面倒な作業を軽減できます。これは小さなMSIファイルで、バックグラウンドでアップデートを実行します。
- カーネルアップデートは、[Microsoft公式リンク](https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi)から直接ダウンロードしてください。ブラウザまたはPowerShellからダウンロードできます。
Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile "$($env:userprofile)\Downloads\wsl_update_x64.msi" -UseBasicParsing Invoke-Item "$($env:userprofile)\Downloads\wsl_update_x64.msi" rm "$($env:userprofile)\Downloads\wsl_update_x64.msi"
これを実行した後、マシンを再起動します。再起動後、WSL 2をデフォルトバージョンに設定します。
wsl --set-default-version 2
このコマンドは、新規インストールで古いWSL1ではなくWSL2が使用されるようにします。当然ながら、Windowsは必要以上に混乱を招くようにしなければなりません。
方法3: BIOS仮想化サポートの確認
インストール中に「エラー 0x80070003」などのエラーが発生したり、仮想化が有効になっていないというメッセージが表示されたりした場合は、おそらくBIOS関連です。PCを再起動し、BIOS/UEFI設定にアクセスしてください(通常は起動中にF2、、、Delまたはを押します)。次に、 Intel VT-xやAMD-VEscなどの項目を探し、有効になっていることを確認してください。無効になっている場合は有効にして、変更を保存し、再起動してください。もちろん、Windowsが魔法のように仮想化を有効にしてくれるわけではありません。
方法4: WSLのバージョンとディストリビューションが正しくインストールされていることを確認する
すべてがインストールされたら、WSL がバージョン 2 に設定され、ディストリビューションの準備ができていることを再確認します。
wsl --list --verbose
ディストリビューションが表示されてもバージョン 2 を使用していない場合は、次のコマンドを実行します。
wsl --set-version 2
これにより、Linuxカーネルの完全なサポートが確保されます。<distribution_name>をUbuntuやKali Linuxなどの実際のディストリビューション名に置き換えることを忘れないでください。
方法5: ストアを使わずにディストリビューションを手動でインストールする
Microsoft Store が無効になっている場合、または Windows Server またはエアギャップ マシンを使用している場合は、ディストリビューションを APPX ファイルとして手動でダウンロードし、PowerShell を使用してインストールできます。
Invoke-WebRequest https://aka.ms/wslubuntu2204 -OutFile ubuntu-2204.appx –UseBasicParsing Add-AppxPackage.\ubuntu-2204.appx
これはちょっと高度ですが、他のすべてが失敗した場合に面倒を省くことができます。
追加のヒント: WSL 構成とリソースの管理
Linux 環境で CPU や RAM の割り当て量を調整するには、次のような設定ファイルを作成します%UserProfile%\.wslconfig。例:
[wsl2] memory=4GB processors=2
こうすることで、特に負荷の高いワークロードを処理中の場合でも、WSL がすべてのリソースを独占することがなくなります。
また、ディストリビューションをインストールした後は、通常のLinuxマシンと同様に、Linuxパッケージのアップデートや新しいソフトウェアのインストールを忘れずに行ってください。WSL$ sudo apt-get update && sudo apt-get upgrade -yシェル内で何かを実行するなど、適切な管理を心がけてください。整理整頓とセキュリティ対策は良い習慣です。
最後に、Windows からファイルを詳しく調べたり、ファイルにアクセスしようとする場合は、ファイル エクスプローラーで\\wsl$notepad \\wsl$\Ubuntu\sysops\home\mytext.txtを参照したり、 のような UNC パスを使用したりできます。慣れてしまえば、とても簡単です。
GIMPなどのLinux GUIアプリを実行したい場合は、$ sudo apt install gimp -yWSLプロンプトからインストールして起動するだけです。WSL 2はGUIアプリをサポートするようになりました。これはかなり素晴らしいことですが、問題なく動作させるまでに何度か試行錯誤が必要になることがあるのは残念です。
WSLがうまく動作しない場合、これらのヒントが時間を節約してくれることを願っています。万能とは言えませんが、セットアップやアップデート中に発生するほとんどの問題を解決するには十分です。
まとめ
- BIOS で仮想化が有効になっていることを確認してください。
- PowerShell から WSL および仮想マシン プラットフォーム機能を有効にします。
- WSL2 Linux カーネルを手動でインストール/更新します。
wsl --list --verboseセットアップを確認するには、次のようなコマンドを使用します。- ストアが選択できない場合は、PowerShell 経由で Linux ディストリビューションを直接インストールします。
まとめ
WSLを正しくセットアップするのは、特にBIOSやWindowsがなかなか動かない場合は、少し面倒なこともあります。しかし、一度うまく動作するようになれば、すべてがうまくいくようになります。理由はよく分かりませんが、自動設定がうまくいかない時でも、手動で設定するとうまくいくことが多いです。BIOSやPowerShellを詳しく調べるのが不安な場合は、誰かに助けを求めるか、ハードウェアのサポート状況を再確認してみてください。WSLは、パーティション設定の煩わしさなしに、Windowsをデュアルブートのような環境に変えてくれるので、とても便利です。
これで誰かが数時間のフラストレーションから解放されることを願っています。頑張ってください!