「Winの自動更新をONにしていたら、いずれ勝手にWSL2へアップデートしてくれるだろう」と思っていましたが、なかなかそうにはなりそうもないので、手動で入れました。
WSL2インストール系の記事は多数ありますが、本稿はスクショ中心に掲載しようと思います。
手順はWindows 10 用 Windows Subsystem for Linux のインストール ガイドに従っています。
参考サイト
WSL2の導入にあたって、参考にしたサイトです。
事前々準備
- マイクロソフトのアカウントを作っておくこと
WSL2導入前
導入の要件
WSL 2 は、Windows 10、バージョン 2004、ビルド 19041 以上でのみ使用できます。
Window Update
Windowsの設定
→ 更新とセキュリティ
から 更新プログラムのチェック
を実行
「最新の状態です」になっているんだけど、実は最新ではない(WSL2が入っていない)
Winバージョンを確認
ショートカットキーWin + R
で ファイル名を指定して実行 を開く
winver
と入力してOK
クリック
Winのバージョンが表示されます。
「バージョン1909」 コレには、WSL2が入っていない。
WSL2 の入っている 「バージョン2004」 へ手動でアップデートすることに。
事前準備 (ストレージの空きを確認)
Window Update にはストレージを数十GB使うようです。
Windowsの設定
→ 「ストレージ」で検索するとストレージの設定
が出てくるでクリック。
ストレージ不足で二度手間にならないように、十分なストレージがあるかを確認。
Window Update (手動でバージョン2004-ビルド19041以上へ)
Windows 更新アシスタントを入手するへアクセス
今すぐアップデート (Update now)
をクリックすると「Windows10 更新アシスタント (Window10Upgrade***.exe)」がダウンロードされる。
「Windows10 更新アシスタント」を実行
再起動を経て...
再度にバージョンを確認
目的の「バージョン 2004、ビルド 19041 以上」になっています。
これでWSL2が使えるはずです
WSL2の導入
余談) Docker Desktop
私のWinには Docker Desktop をインストールしていました。
Winをアップデートしたら、下記の表示が...
おっ!? まさかEnable WSL2
をクリックしたら、WSL2が有効になるのか!?
と、思ってクリックすると...
「WSL2がインストールされてないよ」って...
そりゃそうですよね。Win側でちゃんとインストールしないとですね...
WSL 2 に更新する
WSL 2 をインストールする前に、"仮想マシン プラットフォーム" オプション機能を有効にする必要があります。
管理者として PowerShell を開き、以下を実行します。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
"仮想マシン プラットフォーム" のオプション コンポーネントを有効にするより
管理者じゃない PowerShell
※ 管理者 として PowerShell を開きましょう。じゃないと怒られます。
管理者の PowerShell
ちゃんと出来ると「操作は正常に完了しました。」と表示されました。
WSL2 を既定のバージョンとして設定する
PowerShell で次のコマンドを実行して、新しい Linux ディストリビューションをインストールするときに WSL 2 を既定のバージョンとして設定します。
wsl --set-default-version 2
カーネル コンポーネントの更新
WSL 2 を実行するには、カーネル コンポーネントの更新が必要です。詳細については https://aka.ms/wsl2kernel を参照してください
という表示が...
言われた通りにアクセスすると WSL 2 Linux カーネルの更新というページに飛ばされました。
「最新の WSL2 Linux カーネル更新プログラム パッケージをダウンロード」をクリックすると「wsl_update_x64.msi」がダウンロードされました。
実行しました。
改めて既定のバージョンの設定
wsl --set-default-version 2
を実行
WSL 2 との主な違いついては、 https://aka.ms/wsl2 を参照してください
と表示されました。上手くいったようです。
Linux ディストリビューションをインストール
Microsoft Store を開き、希望する Linux ディストリビューションを選択します。
今回は試しに「Ubuntu 20.04 LTS」を入れてみました。
スタートメニューから
インストールした「Ubuntu 20.04 LTS」を起動してみます
なお
新しくインストールした Linux ディストリビューションを初めて起動すると、コンソール ウィンドウが開き、ファイルが圧縮解除されて PC に格納されるまで 1、2 分待つように求められます。 今後のすべての起動には、1 秒もかかりません。
とのこと。
初回はユーザー名とパスワードの入力が求められます。
パスワード無し はダメなようです。
コレWSL2かしら?
本当にWSL2上で動いてるの?って思ったときの確認方法
wsl --list --verbose
「Ubuntu 20.04」の VERSION が「2」になっています。
なおwsl
コマンドの--verbose
はWSL2からの拡張機能とのこと(--list
はWSL1からありました)。
補足)ディストリビューションで使用する WSL のバージョンの設定
ディストリビューションで使用される WSL のバージョンを設定するには、以下を実行します。
wsl --set-version <distribution name> <versionNumber>
# 例) wsl --set-version Ubuntu-20.04 2
WSL2 の方を(既定)にしたい
先程の画像にあったようにwsl --list
をすると、元々に入っていたUbuntu(WSL1)が既定になっていました。
Ubuntu-20.04(WSL2)を既定にする方法は...
wslconfig /setdefault <distribution name>
# 例) wslconfig /setdefault Ubuntu-20.04
おまけ
Docker Desktop
上記にあった 余談) Docker Desktop について。
「Dockerも設定しなきゃな〜」と思っていましたが、再起動後に Docker Desktop の setting を開くと「Use the WSL 2 based engine」にチェックマークが入っていました。
WSLから → Windowへ のアクセス
cd /mnt/c
で Win の Cドライブ へアクセスできます。
Windowから → WSLへ のアクセス
また、WSLターミナルにおいてexplorer.exe .
をすると、カレントディレクトリをエクスプローラーで開いてくれます。
愚痴
WSLを使いたかったから、Winのプロフェッショナルを買ったのに...
「WSL 2」は「Windows 10 Home」でも利用可能 ~MicrosoftがFAQを掲載
あぁ...
(今のところは) WSL2 って WSL1 に置き換わるものじゃないんですね
まぁ、使い分けるような予定もありませんが...