WSL にまっさらな新規の Ubuntu 環境をつくる

WSL に既存 Ubuntu 環境とは別の、まっさらな新規 Ubuntu 環境を作成する方法を確認します。

下記のブログを読んで知った方法なのですが、賢いアイデアだなあと思い、試した時の内容をメモしたものです。

WSL2 と VSCode で欲しい環境を好きなだけ作る

環境

  • Windows 11 Pro(10.0.22000 N/A ビルド 22000)
  • WSL2

新規 Ubuntu 環境の作成

作業前の状況です。Microsoft Store からインストールしてきた Ubuntu が 1 つだけあります。

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

Ubuntu のイメージをダウンロード

Winodws のファイルシステム上に、Ubuntu Cloud Images から利用したい WSL 用の Ubuntu イメージをダウンロードしてきます。Ubuntu Cloud Images とは、Ubuntu の開発者さんが創業した Canonical 社により管理されている Ubuntu イメージたちです。

Ubuntu Cloud Images are the official Ubuntu images that have been customised by Canonical to run on public clouds that provide Ubuntu Certified Images, Openstack, LXD and more.

Ubuntu Cloud Images

> curl "https://cloud-images.ubuntu.com/releases/focal/release-20221018/ubuntu-20.04-server-cloudimg-amd64-wsl.rootfs.tar.gz" -OutFile ubuntu-20.04-server-cloudimg-amd64-wsl.rootfs.tar.gz

WSL 上に Ubuntu 環境を作成

ダウンロードしてきたイメージを利用して、新しい Ubuntu 環境を作成します。

> # WSL 環境を作成するフォルダを用意しておく
> # このフォルダ下に WSL 用のバーチャルディスクができる
> mkdir C:\wsl
> # WSL にイメージをインポートして、新規環境をつくる
> # wsl --import <Distribution Name> <InstallLocation> <FileName>
> wsl --import Ubuntu2 C:\wsl\ubuntu2 ./ubuntu-20.04-server-cloudimg-amd64-wsl.rootfs.tar.gz
> # 確認
> # 指定した Distribution Name で新規環境が作成されている
> wsl -l -v
  NAME       STATE           VERSION
* Ubuntu     Running         2
  Ubuntu2    Stopped         2
> # ログインしてみる
> wsl -d Ubuntu2
root@laptop:/mnt/c/work/image#

Import a new distribution - wsl

ユーザーの追加

作成した Ubuntu 環境では、root ユーザーしかデフォルトで用意されないため、作業用のユーザーを追加します。

$ # 作業ユーザー zunda を作成
$ useradd -m -G sudo -s /bin/bash zunda
$ # パスワードを設定
$ sudo passwd zunda
$ # WSL ログイン時のデフォルトユーザーを、作成したユーザーに変更
$ echo -e "[user]\ndefault=zunda" > /etc/wsl.conf
$ cat /etc/wsl.conf
[user]
default=zunda
$ exit

確認

環境を再起動してから確認。

> # 環境を停止
> wsl -t Ubuntu2
> # ログイン
> wsl -d Ubuntu2
zunda@laptop:/mnt/c/work/image$

その他

そのほかのメモ。

Windows Terminal から接続

Windows Terminal より接続可能な環境の一覧に、新規作成したものが自動的に追加されています。

VS Code からアクセス

Remote Deployment の Extension を導入している VS Code の場合、新規作成した環境も選択できるようになっています。