1
0

More than 1 year has passed since last update.

WSLイメージが肥大化してきたので小さいイメージからやり直す手順

Posted at

WSL の環境にいろいろインストールしてごちゃごちゃしたので、最初から作り直したい。
でも、今の環境は残したいので、別の 環境を作りたい、という場合の手順です。

方針

C:\WSL-Disk ディレクトリを作成して そこに WSL イメージを格納する。
名前は Ubuntu-22.10-test1 とする

データ格納先の準備

cd C:\
mkdir WSL-Disk
mkdir WSL-Disk\initial-image

Ubuntu から WSL 用の イメージをダウンロード

Ubuntu WSL Images

から kinetic をクリックして その中にある current の中から ubuntu-kinetic-wsl-amd64-wsl.rootfs.tar.gz を選んで ダウンロードします。

ダウンロードしたイメージは C:¥WSL-Disk\initial-image ディレクトリに保存します。

WSL インポートと最低限の設定

コマンドプロンプトから 下記のコマンドを実行して WSLイメージをインポートします。

cd C:\WSL-Disk
mkdir Ubuntu-22.10-test1
wsl --import Ubuntu-22.10-test1 Ubuntu-22.10-test1 C:\WSL-Disk\initial-image\ubuntu-kinetic-wsl-amd64-wsl.rootfs.tar.gz

Pasted image 20230429102954.png

インポートが 正常に終了した後で、 Windows Terminal を開くと Ubuntu-22.10-test1 が 選択できるようになっています。

Pasted image 20230429103304.png

メニューから Ubuntu-22.10-test1 を選択すると root ユーザでログインできます。

Pasted image 20230429103446.png

普段使いのために 一般ユーザを作成しておきます。

adduser user

パスワードを聞かれるので入力します。
ユーザ名も聞かれるので適当に入れます。

sudo できるユーザとして登録するため 下記のコマンドを実行します。

usermod -G sudo user

WSL から ログオフします。

exit

上記で作成した 一般ユーザで ログインするための設定を行います。

PowerShell を起動して

Function WSL-SetDefaultUser ($distro, $user) { Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq $distro | Set-ItemProperty -Name DefaultUid -Value ((wsl -d $distro -u $user -e id -u) | Out-String); };

WSL-SetDefaultUser Ubuntu-22.10-test1 user

もう一度 WindowsTerminal から Ubuntu-22.10-test1 に ログインすると 一般ユーザでログインできます。

Pasted image 20230429104317.png

管理者タスクを行うため sudo する時に ユーザの パスワードを聞かれるので、ユーザを作成した時に入力したパスワードを入力します。

Pasted image 20230429104528.png

管理

C:\WSL-Disk\Ubuntu-22.10-test1 ディレクトリの中には WSL の ディスクイメージが作成されています。

WSL の 仮想マシンを削除するには

wsl --unregister Ubuntu-22.10-test1

で削除できます。 WSL の ディスクイメージも 一緒に削除されます。

もういちど wsl --import からの手順を繰り返す事で何度でも環境を作りなおすことができます。

ユーザのパスワードを忘れたので管理者でログインしたい場合

コマンドプロンプトから

wsl -d Ubuntu-22.10-test1 -u root

と WSL の ディストリビューション名 と ユーザ名を指定してログインできます。

passwd user

で パスワード変更したいユーザの新しいパスワードを設定します。

まとめ

目的に合わせて 専用の WSL イメージを作成、
うまくいかなかったら最初からやり直すのが簡単にできるようになりました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0