【WSL2】Windows10 & ubuntu20.04 の環境作成


概要

WSL2(Windows Subsystem for Linux 2)を使ってWindowsPC上でUbuntuを動作させる。

1. Windows OS のバージョン確認

WSL2を使う為にはWindows のビルドバージョンが18917以降である必要がある為、まずはWindows10のビルドバージョンを確認する。

Windows -> 設定 -> システム -> バージョン情報
または、WindowsPowerShellを起動して下記を実行することでも確認できる。

PowerShell
systeminfo | Select-String "^OS"

OS バージョン: 10.0.18363 N/A ビルド 18363

上記のようにOSバージョンが要件を満たしていない場合は、Windows Insider Programから更新バージョンを入手する必要がある。

Windows -> 設定 -> 更新とセキュリティ -> Windows Insider Program

規約確認とアカウント連携を行った後、Slow(推奨)またはfastを選択して再起動する。
(Slowだと月に1,2度のアップデート、fastだと週に1度程度のアップデートがある。アップデートの度に再起動が必要なのでよくわからない場合はSlowでよい)

再起動後、Windows Updateから更新バージョンを入手する。
更新バージョンのダウンロード、インストール、再起動などで時間がかかるので注意。

更新を行ったところ以下の様にバージョンが更新された。
OS バージョン: 10.0.19041 N/A ビルド 19041

2.WSLの設定

WindowsPowerShellを管理者権限で起動後、下記のコマンドでWindowsの仮想化機能の有効化し、PCを再起動する。

PowerShell
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

再起動後、同様にPowerShellでWSLの有効化を行う。

PowerShell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

3.Ubuntu のダウンロード

MicroSoft StoreからUbuntu20.04をダウンロードする
MicroSoft Storeを開いてUbuntu20.04 LTS を選択し、ダウンロードを行う。

インストールしたUbuntu20.04を起動し、usernameとpasswordを設定する。

4. WSLの切り替え

まずは下記コマンドでWSLのバージョンを確認する。

PowerShell
> wsl -l -v
  NAME            STATE           VERSION
* Legacy          Stopped         1
  Ubuntu-20.04    Running         1

次に、下記コマンドでwslのバージョンを変更する。

PowerShell
2> wsl --set-version Ubuntu-20.04 2
変換中です。この処理には数分かかることがあります...
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください

上記のようにカーネルコンポーネントの更新を求められた為、下記のサイトに行って wsl_update_x64.msi をインストールする。
https://aka.ms/wsl2kernel

インストール後、再度コマンドを実行しところ無事にWSL2へ変更することができた。

PowerShell
> wsl --set-version Ubuntu-20.04 2
変換中です。この処理には数分かかることがあります...
WSL 2 との主な違いについては、https://aka.ms/wsl2 を参照してください
変換が完了しました。

> wsl -l -v
  NAME            STATE           VERSION
* Legacy          Stopped         1
  Ubuntu-20.04    Stopped         2

参考