Windows 10のPCにWSL2(Ubuntu)を導入する

# 概要

WindowsPC上に、WSL2及びDocker Desktopによる開発環境を構築するため、本記事では第一段階としてWSL2の導入を実施する。
(ディストリビューションは、Ubuntu 20.04 LTSを使う。)

# 環境

- OS : Windows 10 Home
    - バージョン：2002
    - ビルド：19042

- WSL2ディストリビューション：Ubuntu 20.04 LTS

# 実施手順

## 前提条件の確認、Windows 10のバージョンアップ

「ファイル名を指定して実行」にて、下記内容を入力する。

```:入力内容
winver
```

起動した画面で、バージョンとOSビルドがWSL2導入の前提条件を満たしているか確認する。

![20211002_winver_bef.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/622182/a6d5dc62-3557-133c-bb93-299b8742c8f6.jpeg)

確認項目|確認内容
:-|:-
バージョン|2004 以降であること
OSビルド|19041 以降であること

:::note info
執筆者の環境では、「バージョン」を「2002」から「2004」以降にバージョンアップする必要があるため、その手順を記載する。
本手順では、執筆時点の最新である「2101」にバージョンアップする。
:::

[設定]から[Windows Update]を起動し、適用可能な更新プログラムを確認する。バージョン「2004」以降にバージョンアップできる場合は、アップグレードを実行する。

![20211002_winupdate.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/622182/27714a64-d829-7ded-4a6d-33ce03f87cc9.jpeg)

:::note info
執筆者の環境では、Windows Updateによる自動バージョンアップは不可だったため、後続の手順で手動バージョンアップを実施した。
:::

[公式のWindows 10ダウンロードサイト](https://www.microsoft.com/ja-jp/software-download/windows10)から、Windows更新アシスタントをダウンロードし、管理者権限にて実行する。起動したウィンドウにて次画面に移動していき、最終的に以下の画面に遷移することを確認する。

![20211002_update.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/622182/b16bf99c-f2ff-1288-b9f9-9ca5542a9058.jpeg)

PC再起動が指示されたら、PC再起動を実行する。

PCが起動したら、再度「ファイル名を指定して実行」から、下記内容を入力する。

```:実行コマンド
winver
```

起動した画面で、バージョンとOSビルドがWSL2導入の前提条件を満たしているか確認する。

![20211002_winver_aft.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/622182/25e73ad1-b97e-4896-8d85-719666c81c29.jpeg)

確認項目|確認内容
:-|:-
バージョン|2004 以降であること
OSビルド|19041 以降であること


## WSL2のインストールの実行

PowerShellプロンプトを管理者権限で起動し、以下のコマンドを実行する。

```powershell:実行コマンド
> wsl --install
```

```:実行結果例
C:\WINDOWS\system32>wsl --install
インストール中: 仮想マシン プラットフォーム
仮想マシン プラットフォーム はインストールされました。
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。
ダウンロード中: WSL カーネル
インストール中: WSL カーネル
WSL カーネル はインストールされました。
ダウンロード中: Ubuntu
要求された操作は正常に終了しました。変更を有効にするには、システムを再起動する必要があります。

C:\WINDOWS\system32>

```

完了後、PCの再起動を実行する。

## Linuxユーザの作成

PCが起動したら、以下のウィンドウが自動起動するはずなので、確認する。

![20211002_ubuntu_setup.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/622182/a8bcd552-ec50-c900-d879-db249c507206.jpeg)

[Enter new UNIX username:]にて、作成したいユーザ名を入力する。その後、[New password:]にて、設定するパスワードを入力し、[Retype new password:]にて、パスワードを再入力する。

```:コンソール出力例
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: koh-kareem
New password:
Retype new password:
passwd: password updated successfully
Installation successful!
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

#####################以下略#####################
```

## パッケージのアップデート及びアップグレード

Ubuntuのコンソール上で以下のコマンドを実行する。

```shell:実行コマンド
$ sudo apt update && sudo apt upgrade
```

```shell:実行結果例
$ sudo apt update && sudo apt upgrade
[sudo] password for koh-kareem:
Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Get:3 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [907 kB]
Get:4 http://security.ubuntu.com/ubuntu focal-security/main Translation-en [173 kB]
Get:5 http://security.ubuntu.com/ubuntu focal-security/main amd64 c-n-f Metadata [8824 B]
Get:6 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [446 kB]
#####################以下略#####################
```

# 今後やりたいこと
- WSL2上のUbuntuを、使いやすいようにカスタマイズ　→執筆記事は[こちら](https://qiita.com/koh-kareem/items/8f7a0bb905a0f087f85c)
- Docker Desktop for Windowsを、WSL2 backendにて導入
- WSL2の別ドライブへの移動
- VSCodeでの開発環境のセットアップ

# 参考文献
- [Windows10 最新バージョンへアップデート（21H1）する方法](https://pc-karuma.net/windows10-20h2-update/#Windows_10)
- [WSL のインストール | Microsoft Docs](https://docs.microsoft.com/ja-jp/windows/wsl/install)
- [WSL 開発環境を設定するためのベスト プラクティス | Microsoft Docs](https://docs.microsoft.com/ja-jp/windows/wsl/setup/environment#set-up-your-linux-user-info)