エンジニア初心者がLinuxを学ぶ 仕事

【WSL2】WSL2のインストール方法を分かりやすく解説

2022年11月10日

Dockerは便利だけど仮想環境だのLinuxだの意味不明で間違いないなくIT初学者にとって一つのハードルだと思う。でもこれだけ人気で俺のいる会社でもよく使うから学ばないという選択肢はない。俺は昔、死んだ魚の目をしたデブなおっさんにDocker使うのとLinuxコマンドでデータ集計するからWSL2入れとけって言われたんだけど、エラーが出まくっておっさんもDockerも嫌いになった。みんなにはそうなってほしくない。

ということで今回はWindowsにWSL2をインストールする方法を解説する。ディストリビューションはUbuntu。

どうも、スニーキーです

前提知識

  • DockerはLinuxカーネル上で動作する。
  • Windows上でDockerを動かすためには、Windows上にLinux環境を作る必要がある。
  • WSLとは「Windows Subsystem for Linux」の略でWindows上で動くLinux環境のこと。
  • Windows上のUbuntuはWSL2と理解しておけばOK。

WSLとUbuntu 20.04のインストール

WSL2のインストール

以下のコマンドを実行。

wsl --install -d Ubuntu-20.04

上記のコマンドでWSLとUbuntu 20.04のインストールする。WSLを初めてインストールした場合は、再起動を求められるのでWindowsを再起動する。

自動的にUbuntuが起動し「Error: 0x800701bc」エラーメッセージがでたら、wsl --updateコマンドをPowerShellで叩く。

もう一度Ubuntuを再起動すると、ユーザー名とパスワードを聞かれるので、これらをUbuntuに設定。

ユーザー名・パスワードはWindowsとは共有ではないので別のものでOK。


「wsl -l -v」コマンドでWSL2が有効になり、Ubuntuのバージョンが2にであることを確認。これでWSL2のセットアップは終わり。バージョンが1の場合は下記のコマンドを実行してバージョン2にする。

wsl --set-version Ubuntu 2

Ubuntuのアップデート・アップグレード

Ubuntuのアップデート・アップグレードは自動的に行われない。
なので下記のコマンドで定期的にアップデートが必要。

sudo apt update && sudo apt upgrade

Windows環境からLinux環境のファイルにアクセス

WindowsのエクスプローラーでLinux環境のファイルにアクセスするには、アドレスバーに「¥¥wsl$」または、「¥¥wsl.localhost」と入力する。

Linux環境(Ubuntuのシェル)からWindows環境のファイルにアクセス

Linux環境からWindowsのCドライブにアクセスする場合は、「/mnt/c」、Dドライブは「/mnt/d」と指定。

「root@DESKTOP-AO75RNI:/mnt/c#」は以下のLinux環境のフォルダを指す。

ここで覚えておくことは、「C:\」というパスがWindowsのCドライブで、Ubuntu(wsl2)からみると「/mnt/c」というディレクトリとして存在し、アクセスできる。

PowerShellからUbuntuのシェルを起動

wslコマンドを使用する。

これで「ls」コマンドなどのLinuxコマンドが使える。

Ubuntuのデフォルトユーザーを変更

起動時のデフォルトユーザーが以下のようにrootのスーパーユーザーになってる。なので、rootから自分が登録したユーザーに変更する。

新規にユーザーを作成

ユーザー登録していない場合、useraddコマンドで新しいユーザーを登録します。Ubuntuで下記を実行。ユーザー登録してる人は不要。

useradd -m -s $SHELL monkeyDluffy

ユーザー登録されてるか確認は下記の「sudo vi /etc/passwd」コマンドを実行。

sudo vi /etc/passwd
下記が表示される。
root:x:0:0:root:/root:/bin/bash
.....
monkeyDluffy:x:1000:1000::/home/monkeyDluffy:/bin/bash

「/etc/passwd」というファイルに、テキスト形式でユーザ名とログインシェルのペアが定義されてる。自分の場合は「monkeyDluffy」のユーザー名で登録していた。

ファイルを「:q!」を入力して保存せずに閉じる。

passwdコマンドでユーザー名のパスワードを設定

パスワード変更、新たに設定するには下記を実行。

passwd monkeyDluffy
New password:
Retype new password:
passwd: password updated successfully

次に「usermod」コマンドで、monkeyDluffyに管理者権限を付与してsudoコマンドで管理者権限でコマンドを実行することができるようする。

usermod -G sudo monkeyDluffy

追加したmonkeyDluffyユーザーをデフォルトのユーザーに変更

UbuntuではなくWindows側から実行。

「Ubuntu-20.04」のディストリビューションがインストールされてるので、そのデフォルトユーザーをrootからmonkeyDluffyに下記のコマンドで変更。

Ubuntu2004 config --default-user monkeyDluffy

これで起動時のデフォルトのユーザーがmonkeyDluffyに変更されていればOK。

projectフォルダを作成


mkdir projectsと打ってprojectsフォルダを作成。

WSLをdocker desktopに結合する


今この状態でdockerコマンドを打ってもdockerコマンドは使えない。

これでApply & Startボタンを押す。その上のチェックボタンだけでも大丈夫かも?

これでdockerコマンドが使えるようになった。

-エンジニア初心者がLinuxを学ぶ, 仕事