BEACHSIDE BLOG

Azure とか C# 好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

WSL2 をインストールする (Windows 10 May 2020 Update)

そういえばこないだ Windows 10 May 2020 Update (Version 2004) に更新できたので、正式版としてリリースされた WSL2 をインストールしてみます。

WSL2 といえば Microsoft Build 2020 で正式版のリリースが発表され、WSL1 に比べアーキテクチャーの変更によりメリットたくさんって感じ (←説明が雑) です。なんで WSL2 ? とか WSL2 のメリットは、ググればたくさん出てくるのでここでは記載不要ですね。

注意点は、今回の手順のメモを実施する前提として、Windows 10 May 2020 Update (Version 2004) である必要があります。

Windows の機能の有効化

Linux 用 Windows サブシステムの有効化

え...公式ガイドによると WSL1 を入れてから 2 にアップデートする流れ...めんどいですね。。。

まぁガイドにしたい、PowerShell を管理者として実行して、以下のコマンドを実行します。

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

数秒で終わります。

f:id:beachside:20200811215505p:plain

仮想マシンプラットフォームの有効化

次はこのコマンドです。

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

数秒で終わります。

再起動

OS を再起動します。トラブルの元になる雰囲気を感じるので絶対に再起動を忘れないでください。

WSL2 をセットアップする

Linux カーネル更新プログラム パッケージ のインストール

以下の公式(英語)のドキュメントを開いて WSL2 Linux kernel update package for x64 machines をクリックしてダウンロードします。以前は日本語のドキュメントにもあった気がしましたがなくなった?(このブログを更新した時点では英語が9/15更新、日本語が5/20更新なので古いドキュメントの状態ですが...以前はあったはず..)

Step 4 - Download the Linux kernel update package

f:id:beachside:20200919182901p:plain

インストーラーをダウンロードしたらインストールします。

f:id:beachside:20200811230513p:plain:w480

WSL2 を既定のバージョンにセット

以下のコマンドを実行します。

wsl --set-default-version 2

コマンドを実行して問題なければ以下のようになります。 f:id:beachside:20200811230923p:plain:w480

もし、カーネルが古いとこんなメッセージになります。これだとダメな状態。

f:id:beachside:20200919183340p:plain:w600

この場合は前述したとおりカーネルを更新て、再度 wsl --set-default-version 2 のコマンドを実行します。

Linux ディストリビューションのインストール

Microsoft Store を開いて、私の場合は以下のバージョン名のついてない Ubuntu をインストールしました。このアプリの説明に書いてある通り 20.04 LTS がインストールされます。

f:id:beachside:20200811232659p:plain

インストールが終わったら、右上の起動をクリックします。
初回の起動は数分かかるとか書いてましたが数秒で立ち上がりました。あとは画面にそってアカウントを設定します。

f:id:beachside:20200811231821p:plain

動作確認

PowerShell に戻り、以下のコマンドで WSL の実行バージョンを確認してみます。

wsl --list --verbose

f:id:beachside:20200811232242p:plain:w480

大丈夫そうですね。1になってたら前述で行ったコマンド wsl --set-default-version 2 をたたけばよいでしょう。

Windows Terminal に追加

WSL をインストールすると Windows Terminal の設定を開くと自動で登録されるみたいですね、便利。
何にどう使うか全くノープランですが、こちらの公式ドキュメントを参考に、起動時にホームディレクトリに来るよう変更しておきますかね。私が設定したディストリビューション名とユーザー名を指定するのでこんな感じに。

      {
        "guid": "{2c4de342-38b7-51cf-b940-2309a097f518}",
        "hidden": false,
        "name": "Ubuntu",
        "source": "Windows.Terminal.Wsl",
        "startingDirectory": "\\\\wsl$\\Ubuntu\\home\\yokohama"
      }

f:id:beachside:20200812002920p:plain:w480

エクスプローラーから Ubuntu のフォルダーを表示

上記で startingDirectory の設定で想像がつきますが、エクスプローラーを開いて \\wsl$ と入力すれば見えます。あとは適当にショートカットなりクイックアクセスに登録しておけばいつでもアクセスできます。

f:id:beachside:20200817185415p:plain:w400

参考