ここではWSL2について、簡単なご紹介とWindowsでWSL2を有効化する方法についてご紹介します。
WSL2の導入に関してはMicrosoftの公式サイトを参考にしておりますので、より詳しい手順や仕様の確認については公式サイトよりご確認をお願いします。
また、WSL2の動作要件はMicrosoftにて以下のように提示されていますので、お使いのWindows10が要件を満たしているのか、事前に確認を行っていただくようお願いします。
x64 システムの場合:バージョン 1903 以降、ビルド 18362 以上。
ARM64 システムの場合:バージョン 2004 以降、ビルド 19041 以上。
18362 より前のビルドは WSL 2 をサポートしていません。 Windows 更新アシスタントを使用して、お使いのバージョンの Windows を更新します。
WSL2とは?
ここでは、WSL2についてご紹介します。
WSL2はWindows Subsystem for Linux2の略称です。Windows上でLinuxを動かすための仕組みのバージョン2といった位置づけで、WSL1と比較すると利便性が向上し、動作が軽快になりました。
また、WSL2はWindowsの仮想化機能(Hyper-V)を利用しているため、LinuxそのものがWindows上で動作します。
これにより、以前はWindows上では動作させることのできなかったDockerなどをWindows上で利用できるようになりました。
これまでも、VirtualBoxなどを利用してWindows上で仮想マシンを利用してLinux環境を用意することも可能でしたが、多くの開発者やエンジニアはLinuxのコマンドラインツールを頻繁に利用します。
Linuxのコマンドを利用するたびに、仮想マシンを用意して起動と停止を繰り返すよりも、WSLを利用すことで、仮想マシンを利用するよりも軽量でシンプルにLinuxのコマンドラインを利用することが可能になります。
WSL2の導入手順
WSL2の導入手順について、流れとしては以下の通りです。
- 「Linux 用 Windows サブシステム」の機能の有効化
- 「仮想マシン プラットフォーム」の機能の有効化
- 「Linuxカーネル更新プログラムパッケージ」のインストール
- Microsoft Storeから「Linuxディストリビューション」をインストール
- WSL2をWSLの既定のバージョンとして設定
「Linux 用 Windows サブシステム」の機能の有効化
まずは、Windows上での「機能の有効化」を行います。
Linux用 Windows サブシステムの機能を有効化するために、PowerShellを管理者で起動し以下を実行します。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
このコマンドは、Linux用 Windows サブシステムの機能を有効化するものです。
コマンドで操作しない場合はWindowsの機能の有効化または無効化にて、「Linux用 Windows サブシステム」にチェックを入れることでも機能の有効化を行うことが可能です。
「仮想マシン プラットフォーム」の機能の有効化
続いて、仮想マシン プラットフォームを有効化します。
先ほどの手順と同じようにPowerShellを管理者で実行し、以下を実行します。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
このコマンドは、WindowsのHyper-Vという仮想化機能を有効化するものです。
コマンドで操作しない場合はWindowsの機能の有効化または無効化にて、「Hyper-V」にチェックを入れることでも機能の有効化を行うことが可能です。
「Linuxカーネル更新プログラムパッケージ」のインストール
Linuxカーネル更新プログラムパッケージをダウンロードしてインストールします。
インストールは以下のようにインストーラーを起動し、完了画面がでることを確認しましょう。
※管理者で実行しないと権限不足でインストールが実行できません。
Microsoft StoreからLinuxディストリビューションをインストール
Microsoftの公式サイトでは以下のディストリビューションが案内されています。
今回は「Ubuntu 20.04 LTS」を選択した場合の流れでご紹介します。
SUSE Linux Enterprise Server 12 SP5
上記のディストリビューションのリンクを開くとMicrosoftの公式サイトに移動します。
インストールするディストリビューションが表示されますので、「入手」を選択してMicrosoft Storeを起動します。
Microsoft Storeが起動したら、再度「入手」を選択します。
ダウンロードが開始されますのでしばらく待ちます。
ダウンロードが完了したら「起動」が表示されますので、こちらから起動します。
以降、スタートアップ一覧にもインストールしたディストリビューションが表示され、こちらからも起動可能です。
ディストリビューションを起動したら、「Installing, this may take few minutes…」と表示されるので、しばらく待ってからEnterを押します。
※ただ待っていても画面が遷移しない場合があります。
ディストリビューションが起動したらユーザー名とパスワードを設定しましょう。
パスワードまで設定できたら初回設定は完了です。
WSL2をWSLの既定のバージョンとして設定
最後にWSL2をWSLの既定の設定として登録します。
以下のコマンドをPowerShell上で入力します。
wsl --set-default-version 2
続いて、動作確認のために以下を入力します。
wsl –l -v
コマンドを実行後、ディストリビューション名とステータス、実行するWSLのバージョン情報が表示されます。
VERSIONのところが「1」と表示されている場合は、WSL2で動作するように以下のコマンドを入力します。
wsl --set-version <ディストリビューション名> 2
今回は「Ubuntu-20.04 2」を利用して検証していますので、以下を入力しました。
wsl –set-version Ubuntu-20.04 2
コマンドを入力後、以下の画面が表示されるので完了まで待ちます。
設定完了後、確認のために再度以下のコマンドを入力します。
wsl –l -v
WSLのVERSIONを再度確認し、2になっていれば確認完了です。
STATEがStoppedになっている場合はwslのディストリビューションが停止している状態ですので、起動する場合は「wsl」と入力して起動します。
wslコマンドでの起動後、自動的に初回設定したアカウントでログインした状態になるので、ユーザーを指定したい場合などは以下のようにディストリビューションとユーザー名を指定してログインしてみましょう。
wsl -d <ディストリビューション名> -u <ユーザー名>