Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

WSL2を有効化した

スポンサードリンク


WSL2を使いたくて有効化した時のメモ

前提条件

・Hyper-Vは使用済み
・WSL1も有効化済み

やること

2023年3月現時点ではWSL1からWSL2にするには
コマンドプロンプトから管理者権限で

> wsl --set-default-version 2

を打つだけ。あとは新規にディストリビューションを入れるだけ。
コマンドラインからでもWindows Storeからでもどっちでもよいです。

補足

WSL1からディストリビューションをいれてて
移行が必要な場合はもうちょい手順が必要だけどここでは書いてません。

使ってみた感想

WSL2あれば開発でdockerいらないかも。
いや、微妙に用と違うけどさ。開発環境構築だけならこれだけで良い。
現実的にはDocker on WSL2とかになるんだろうけどさ。
ちゃんとしたLinuxでCygwinできる感があって嬉しい。
Windows内のファイルをGrepするのに活用してたGit Bashとかももはや不要。
Macを使う理由が1つ減った感じがある。
しかし、会社の政治的な事情により業務用PCはそもそもVT-x有効化が封じられてるケースが多い。

長い説明

WSL1は有効化しているが別段何もインストールしてなかったという状態
Hyper-Vのおまけで有効化していた状態でした。

ちょっと前からHyper-VとWSL2が共存できるぞという情報は知っていたので、
いつかWSL2ためしたいなーと思うこの頃でした。

Hyper-Vはインストールして有効化しているはずだが、念のため以下を確認
管理者のコマンドプロンプトで実行

> dism.exe /online /get-featureinfo /featurename:VirtualMachinePlatform  

Deployment Image Servicing and Management tool
Version: 10.0.22621.1

Image Version: 10.0.22621.1265

Feature Information:

Feature Name : VirtualMachinePlatform
Display Name : Virtual Machine Platform
Description : Enables platform support for virtual machines
Restart Required : Possible
State : Enabled

Custom Properties:

(No custom properties found)

The operation completed successfully.

これが有効化されてないと何も始まりません。

> wsl -l -v
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore

2って文字がなければWSL1です。たぶん。

デフォルトをWSL2にする

> wsl --set-default-version 2 
For information on key differences with WSL 2 please visit https://aka.ms/wsl2
The operation completed successfully.

「WSL2の重要な違いは https://aka.ms/wsl2 見て」 と書いてるが知ってる話なので無視。


--- 以下必要なかったところの記録 ---

> wsl -l -v
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore

としかでない。最初と同じ。あれ? 2になってる気配なし…

ドキュメントを漁るも公式にアップグレード手順が書いてない。
WSL のインストール | Microsoft Learn
これはまっさらな状態からの手順で、関係がない。
ググる。
以前のバージョンの WSL の手動インストール手順 | Microsoft Learn
これかなと思ったら違う。
ここからダウンロードしたものをインストールしようと思ったが、
これもすでにインストールされているになってた。

--- 以上必要なかったところの記録 ---

コマンドラインから

> wsl --install -d Ubuntu-22.04

インストールが終わったら
Terminalが立ち上がってユーザー設定を聞いてきた。あれこれもうWSL2じゃん。   再びコマンドプロンプトで見てみる。

> wsl -l -v
  NAME            STATE           VERSION
* Ubuntu-22.04    Running         2

普段起動するときはアプリからUbuntu 22.04とかを選ぶとよい

無事、WSL2を有効化できた。

その他

rootユーザーになるときなど、あとWindowsの環境変数を引き継ぐ、引き継がないあたりはこの辺りを参考に。
WSL2の初歩メモ - Qiita