Windows 11マシンでLinuxを動作させたいなら、WSL2(Windows Subsystem for Linux)が最適です。開発者、システム管理者、あるいはLinuxに興味がある人にとって、WSL2は非常に便利です。デュアルブートや仮想マシンをセットアップすることなく、Windows内でLinuxディストリビューションをネイティブに実行できるからです。しかし、もちろん、常にスムーズに進むわけではありません。特に特定のハードウェアや古いWindowsビルドでは、WSL2の有効化やアップデートで問題が発生することがあります。このガイドでは、一般的なインストールプロセスと、発生する可能性のある一般的な問題を順に解説することで、その疑問を少しでも解消したいと考えています。
Windows 11にWSL2をインストールする方法
WSL2 を起動するのは、手順に従えばそれほど難しくありません。非常に簡単ですが、システムを完全にアップデートする必要があり、BIOS で仮想化を有効にする必要があり、場合によっては仮想マシン プラットフォーム機能などを手動でオンにする必要があることに注意してください。インストールが完了すると、Windows に統合された Linux 環境が完成し、コマンドライン作業、開発、あるいは Linux ツールをいじるだけの作業が可能になります。ここでは、私が様々な設定でどのように解決したかを説明します。少しでも時間の節約やストレスの軽減になれば幸いです。
まずWindowsのビルドを確認する価値がある
Windows 11(またはWindows 10 ビルド2004以降)を実行していることを確認してください。一部の環境では、古いバージョンではどのようなコマンドを試してもWSL2が正しくサポートされない場合があります。正確なバージョンを確認するには、 「設定」 > 「システム」 > 「バージョン情報」に移動してください。最新でない場合は、Windows Updateを実行して最新ビルドを入手してください。
WSLと仮想化機能を有効にする
通常のプロンプトではなく、管理者としてPowerShellを開きます。以下を入力します。
wsl --install
このコマンドは、仮想マシンプラットフォームなどの機能の有効化やLinuxカーネルのダウンロードなど、あらゆる処理を実行するはずです。ただし、特に古い環境や大幅にカスタマイズした環境では、最初の試行で完全に有効化されない場合があります。その場合は、手動で有効化する必要があるかもしれません。「コントロールパネル」>「プログラム」>「Windowsの機能の有効化または無効化」を開き、以下のオプションを確認してください。
- Linux用Windowsサブシステム
- 仮想マシンプラットフォーム
これらを有効にしたら、PCを再起動してください。少し面倒ですが、Windowsは再起動せずにこれらの機能を有効にするのがおかしな傾向があるようです。
WSL をバージョン 2 に更新します (必要な場合もあります)
再起動したら、管理者として PowerShell に戻り、次を実行します。
wsl --set-default-version 2
これにより、デフォルトのディストリビューションがWSL2に切り替わり、新しいLinuxカーネル、優れたパフォーマンス、そして全体的な互換性が向上します。ただし、ここで問題が発生する場合があります。システムが最新のカーネルアップデートを適用していない場合、WSL2のインストールまたは切り替えが拒否される可能性があります。Linuxカーネルを手動でアップデートするには、[Microsoftの公式ページ](https://aka.ms/wsl2kernel)からダウンロードしてください。インストーラーを実行してから、コマンドを再試行してください。
Windows Update がカーネルアップデートをすぐにプッシュしないことがあります。少し奇妙ですが、それでも WSL2 でエラーが発生する場合は、手動でアップデートを取得してもう一度お試しください。また、BIOS で仮想化が有効になっているかどうかも確認してください。仮想化はデフォルトで無効になっていることが多く、WSL2 のパフォーマンスが低下し、起動しなくなる可能性があります。
Microsoft Store から Linux ディストリビューションを選択する
Microsoft Store を開いて、Linuxディストリビューションを検索します。初心者に優しいUbuntuをおすすめしますが、Debian、Kali、openSUSEも選択肢の一つです。「インストール」をクリックし、ダウンロードが完了するまでお待ちください。待ちきれない場合は、PowerShellコマンドを使って直接インストールすることもできます。
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing Add-AppxPackage.\Ubuntu.appx
より高度な機能ですが、場合によってはより高速になります。とにかく、インストールしたらスタートメニューから起動するだけです。初回起動には少し時間がかかる場合があり、ユーザー名とパスワードを設定する必要があります。
Linuxディストリビューションを実行して初期化します
スタートメニューからディストリビューションを開くと、ファイルシステムがセットアップされます。基本的にはLinux環境の初期化が行われ、ログインを求めるターミナルプロンプトが表示される場合があります。これが完了したら、Linuxコマンドを入力できるようになります。Linuxシェルに直接アクセスすることも、Windowsターミナルから呼び出してスクリプトや開発作業を行うこともできます。
よくある問題 – BIOSで仮想化が有効になっていることを確認してください
多くの環境では、仮想化がオンになっていないとWSL2は動作しません。これは通常、BIOSを再起動して設定を見つけることを意味します。Intel VT-xやAMD-Vなどのオプションを探してください。有効になっていない場合、Windowsは軽量の仮想マシンを適切に起動できません。繰り返しますが、これはWindowsが必要以上に困難にしているからです。
必要に応じてLinuxカーネルを更新する
場合によっては、カーネルのアップデートが必要だというメッセージが表示されることがあります。MicrosoftのWSL2カーネルアップデートページから最新バージョンをダウンロードしてください。インストーラーを実行してPCを再起動してください。これでブロックは解除されることが多いです。
Windows 11 上の WSL2 のヒントとコツ
- Windows を常に最新の状態に保ってください。一部の機能は古いビルドでは動作しません。
- インストールと更新には管理者権限で PowerShell を使用します。これにより、権限に関する問題が回避されます。
- 動作が遅い、または起動しない場合は、BIOS 設定を確認してください。仮想化がオフになっていることがよくある原因です。
- WSL コマンドが機能しない場合は、通常のコマンド プロンプトを開いて実行し、
wsl --update最新のビットを取得します。 - より良いエクスペリエンスを得るには、ML またはグラフィックス作業に興味がある場合は、公式の WSL GPU チュートリアルで GPU サポートを有効にすることを検討してください。
よくある質問
WSL2 は本当に価値があるのでしょうか?
VMやデュアルブートの手間をかけずにLinuxツールを使いたいなら、間違いなくおすすめです。基本的にはLinuxですが、Windowsに統合されているため、開発ワークフローに革命をもたらします。
Windows アプリと Linux アプリを並行して実行できますか?
はい。ターミナルやダッシュボードからLinuxを起動しながら、Windowsアプリもすべて同時に開くことができます。一度セットアップすれば、バターのようにスムーズに動作します。
システムで仮想化を有効にできない場合はどうなりますか?
これは少し難しいですね。非常に古いハードウェアでは、仮想化がBIOSで無効化されているか、全くサポートされていない場合があります。その場合、WSL2は動作しない可能性があり、WSL1かVMセットアップで妥協しなければならない可能性があります。
まとめ
- まず Windows のバージョンを確認し、11 以降であることを確認してください。
- Windows 機能で WSL および仮想マシン プラットフォーム機能を有効にします。
- 再起動し、WSL をバージョン 2 を使用するように設定します。
- ストアから、または手動で Linux ディストリビューションをインストールします。
- 起動してセットアップを完了すると、Windows 内で Linux をお楽しみいただけます。
まとめ
WSL2 を動作させるには、通常、正しい手順に従い、仮想化が有効になっていることを確認するだけです。カーネルアップデートのクリアや機能の有効化は面倒な場合もありますが、一度起動してしまえば、Windows 内で柔軟な Linux 環境を構築できます。開発、スクリプト作成、あるいはちょっとした作業など、どんな用途でも、最初のハードルを乗り越えれば、WSL2 はワークフローを飛躍的に向上させることができます。
この記事が、誰かの障害を乗り越えてWSL2をスムーズに実行できるようになる助けになれば幸いです。頑張ってください!