WSL2導入｜WinアップデートからWSL2を既定にするまでのスクショ

「Winの自動更新をONにしていたら、いずれ勝手にWSL2へアップデートしてくれるだろう」と思っていましたが、なかなかそうにはなりそうもないので、手動で入れました。

WSL2インストール系の記事は多数ありますが、本稿はスクショ中心に掲載しようと思います。

手順は[Windows 10 用 Windows Subsystem for Linux のインストール ガイド](https://docs.microsoft.com/ja-jp/windows/wsl/install-win10)に従っています。

# 参考サイト
WSL2の導入にあたって、参考にしたサイトです。

* [Windows 10 用 Windows Subsystem for Linux のインストール ガイド](https://docs.microsoft.com/ja-jp/windows/wsl/install-win10)
* [WSL 2 の新機能](https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-index)
* [Qiita｜WSL2](https://qiita.com/tags/wsl2)

# 事前々準備
* マイクロソフトのアカウントを作っておくこと


# WSL2導入前
## 導入の要件

>WSL 2 は、Windows 10、バージョン 2004、ビルド 19041 以上でのみ使用できます。

[WSL 2 の新機能](https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-index)より

## Window Update
`Windowsの設定` → `更新とセキュリティ` から `更新プログラムのチェック` を実行
「最新の状態です」になっているんだけど、実は最新ではない（WSL2が入っていない）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/e4a14687-9064-e561-8903-2041872c2e4e.png)

## Winバージョンを確認
ショートカットキー`Win + R`で **ファイル名を指定して実行** を開く
`winver`と入力して`OK`クリック
![1004.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/117ef5a1-84fa-8a11-c7bf-d9c7437f0e56.png)
Winのバージョンが表示されます。
![1005.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/141e018a-2818-bd9d-6ad8-d890847f2b77.png)
「バージョン1909」　コレには、WSL2が入っていない。
WSL2 の入っている 「バージョン2004」 へ手動でアップデートすることに。

## 事前準備 （ストレージの空きを確認）
Window Update にはストレージを数十GB使うようです。
`Windowsの設定` → 「ストレージ」で検索すると`ストレージの設定`が出てくるでクリック。
ストレージ不足で二度手間にならないように、十分なストレージがあるかを確認。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/f340c59c-4f33-1006-59b1-346d9c144508.png)


## Window Update （手動でバージョン2004-ビルド19041以上へ）
[Windows 更新アシスタントを入手する](https://www.microsoft.com/software-download/windows10)へアクセス
`今すぐアップデート （Update now）`をクリックすると「Windows10 更新アシスタント （Window10Upgrade***.exe）」がダウンロードされる。
![0001.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/8b2b1845-3c82-800c-8e9f-08f14a756cdf.png)

「Windows10 更新アシスタント」を実行
![0002.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/662da8aa-3ee5-976b-4495-ef52e0afc4f9.png)
![0003.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/b9c78093-234c-19b9-ad70-81add8910b4b.png)
![0004.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/fdf838fb-c7b0-ffc1-1cfe-f18bd93441a2.png)
![0005.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/58a758b0-cc7a-d045-29a1-6a38f3b4d66f.png)
再起動を経て...
![0006.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/da141f79-aa63-2461-9693-8f66b12dc5fd.png)


## 再度にバージョンを確認
![1004.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/117ef5a1-84fa-8a11-c7bf-d9c7437f0e56.png)
![2003.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/86d4348a-b2ca-335a-4e53-352e65799923.png)
目的の「バージョン 2004、ビルド 19041 以上」になっています。
これでWSL2が使えるはずです

# WSL2の導入
## 余談） Docker Desktop
私のWinには **Docker Desktop** をインストールしていました。
Winをアップデートしたら、下記の表示が...
![2001.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/30bcd4bb-15bd-0207-2dc9-01c7953c50be.png)
おっ！？ まさか`Enable WSL2`をクリックしたら、WSL2が有効になるのか！？
と、思ってクリックすると...
![2002.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/3bf8829b-0e68-e30f-fbd1-a4c1ce84a4d6.png)
「WSL2がインストールされてないよ」って...
そりゃそうですよね。Win側でちゃんとインストールしないとですね...

## WSL 2 に更新する
> WSL 2 をインストールする前に、"仮想マシン プラットフォーム" オプション機能を有効にする必要があります。
管理者として PowerShell を開き、以下を実行します。

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

["仮想マシン プラットフォーム" のオプション コンポーネントを有効にする](https://docs.microsoft.com/ja-jp/windows/wsl/install-win10#enable-the-virtual-machine-platform-optional-component)より

**管理者じゃない PowerShell**
※ **管理者** として PowerShell を開きましょう。じゃないと怒られます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/d038feab-b88d-4daf-7c8b-b77a72c5c671.png)

**管理者の PowerShell**
ちゃんと出来ると「操作は正常に完了しました。」と表示されました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/1812eb49-b9d5-596f-375b-41fe162724bb.png)

## WSL2 を既定のバージョンとして設定する
> PowerShell で次のコマンドを実行して、新しい Linux ディストリビューションをインストールするときに WSL 2 を既定のバージョンとして設定します。

```shell:PowerShell
wsl --set-default-version 2
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/a0bb4047-f057-bd1a-6310-55fe637e926d.png)

### カーネル コンポーネントの更新

> WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については [https://aka.ms/wsl2kernel](https://aka.ms/wsl2kernel) を参照してください

という表示が...

言われた通りにアクセスすると [WSL 2 Linux カーネルの更新](https://docs.microsoft.com/ja-jp/windows/wsl/wsl2-kernel)というページに飛ばされました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/d52e29c4-9bcc-e1f8-2c6b-c6b1d3cc2313.png)

「最新の WSL2 Linux カーネル更新プログラム パッケージをダウンロード」をクリックすると「wsl_update_x64.msi」がダウンロードされました。

![2008.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/e40b61be-1193-d556-41d1-976d0dad0fdd.png)

実行しました。

### 改めて既定のバージョンの設定
`wsl --set-default-version 2` を実行

> WSL 2 との主な違いついては、 https://aka.ms/wsl2 を参照してください


と表示されました。上手くいったようです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/d7613520-2298-178c-0ad4-62ac26ba23f3.png)


## Linux ディストリビューションをインストール
> [Microsoft Store](https://aka.ms/wslstore) を開き、希望する Linux ディストリビューションを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/20d3ba68-907d-fba0-afcf-237774afeaf1.png)

今回は試しに「Ubuntu 20.04 LTS」を入れてみました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/1dd2486c-60e6-29d7-1abc-0097ebd22918.png)

スタートメニューから
インストールした「Ubuntu 20.04 LTS」を起動してみます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/e22e4093-09f7-ffe5-198e-1f998907422c.png)
ちょっと待ちます。

なお

> 新しくインストールした Linux ディストリビューションを初めて起動すると、コンソール ウィンドウが開き、ファイルが圧縮解除されて PC に格納されるまで 1、2 分待つように求められます。 今後のすべての起動には、1 秒もかかりません。

とのこと。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/c65ace61-1546-d274-bc62-b89f8b5aa57e.png)

初回はユーザー名とパスワードの入力が求められます。
**パスワード無し** はダメなようです。

## コレWSL2かしら？
本当にWSL2上で動いてるの？って思ったときの確認方法

```shell:PowerShell
wsl --list --verbose
```

![2012.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/4e360bcb-8dd5-18dd-5906-96d7e33a21bc.png)

「Ubuntu 20.04」の **VERSION** が「2」になっています。
なお`wsl`コマンドの`--verbose`はWSL2からの拡張機能とのこと（`--list`はWSL1からありました）。

### 補足）ディストリビューションで使用する WSL のバージョンの設定
> ディストリビューションで使用される WSL のバージョンを設定するには、以下を実行します。

```shell:PowerShell
wsl --set-version <distribution name> <versionNumber>
# 例） wsl --set-version Ubuntu-20.04 2
```

## WSL2 の方を（既定）にしたい
先程の画像にあったように`wsl --list`をすると、元々に入っていたUbuntu（WSL1）が既定になっていました。
Ubuntu-20.04（WSL2）を既定にする方法は...

```shell:PowerShell
wslconfig /setdefault <distribution name>
# 例） wslconfig /setdefault Ubuntu-20.04
```
です
![2014.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/1eb63c90-b332-3f02-4486-740c322fb4b4.png)

# おまけ
## Docker Desktop
上記にあった **余談） Docker Desktop** について。
「Dockerも設定しなきゃな〜」と思っていましたが、再起動後に **Docker Desktop** の **setting** を開くと「Use the WSL 2 based engine」にチェックマークが入っていました。
![2015.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/9e429366-49ab-a372-4fd0-aaf08ef81b4f.png)

## WSLから → Windowへ のアクセス
`cd /mnt/c`で Win の Cドライブ へアクセスできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/317f94f3-8e86-0294-d711-68db7653defd.png)

## Windowから → WSLへ のアクセス
エクスプローラーからなら`\\wsl$`でアクセスできます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/2622e5bf-ef3e-fe36-a1a5-be7ac37f593a.png)

また、WSLターミナルにおいて`explorer.exe .`をすると、カレントディレクトリをエクスプローラーで開いてくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283603/753f3b89-caea-e052-1951-f3288af5d269.png)

# 愚痴
WSLを使いたかったから、Winのプロフェッショナルを買ったのに...

[「WSL 2」は「Windows 10 Home」でも利用可能 ～MicrosoftがFAQを掲載](https://forest.watch.impress.co.jp/docs/news/1184353.html)

あぁ...
（今のところは） WSL2 って WSL1 に置き換わるものじゃないんですね
まぁ、使い分けるような予定もありませんが...