WSL2の設定

Windows 10 2004 以降なら WSL2 が使用できる。WSL2 は完全な Linux カーネルを使用しているので、Windows 10 + WSL2 + Docker とかいう運用も可能になる。

インストール

PowerShell を管理者モードで開き、

Windows Subsystem for Linux のインストール

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

"仮想マシン プラットフォーム" のオプション コンポーネントを有効にする

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

ここで再起動して、WSL を有効にする

WSL2 にするにはカーネルコンポーネントの更新が必要になるので、https://aka.ms/wsl2kernel から Linux カーネル更新プログラム パッケージを入手してインストールする。
f:id:nao550:20200530140741p:plain


インストールしただけでは WSL のバージョンが 1 になっているので、2 に変更する

PS C:\Users\user> wsl --set-default-version 2
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください

Microsoft Store で [Linux] で検索するとインストールできるディストリビューションが表示されるので好きなのをインストールする。

f:id:nao550:20200529160442p:plain
Microsoft Store


自分はちょっと前後になってしまって、WSL1 の環境に Ubuntu をいれてしまったので、WSL 2 への変更をする

PS C:\Users\user> wsl --list -v
  NAME      STATE           VERSION

Ubuntu Stopped 1

PS C:\Users\user> wsl --set-version Ubuntu 2 変換中です。この処理には数分かかることがあります... WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください 変換が完了しました。
インストールできれば起動できるようになっているので起動する。 f:id:nao550:20200529160735p:plain スタートメニューにも追加されているのでそちらからでも可能 初回起動時にはLinux管渠のユーザ名とパスワードの設定が求められる。これは Windows とは別のアカウントで、ここで設定するユーザが管理者アカウントとなり、sudo コマンドなどが使用できる。 f:id:nao550:20200529160946p:plain かんたんに WindowsLinux 環境がつくれる。

tips

Linux 環境の /mnt 以下に Windows のドライブがマウントされる。 Linux 上のネットワークインタフェースは Windows と共有されるので、localhost:ポート番号で Linux 上のポートにアクセスできる。 ということは WindowsLinux でポート番号の競合が発生するので実行するサービスには注意が必要。 逆に Linux から Windows のポートにアクセスする場合は、IPアドレスでアクセスする。 参考 Linux 用 Windows サブシステムの概要 | Microsoft Docs