Tech Blog

WSL2の環境に同じ種類のディストリビューションを複製する

WSLにはMicrosoft StoreからUbuntuを入手してインストールできますが同じものを複数インストールすることが出来ません。
ここでは既にMicrosoft StoreからインストールしているUbuntuを複製することで複数インストールする手順を説明します。

ディストリビューションを複製する

まず既にWSLにインストールされているディストリビューション一覧を確認します。Microsoft StoreからインストールしたUbuntuが確認できます。

PS C:\Users\<ユーザー名>> wsl -l -v
  NAME      STATE           VERSION
* Ubuntu    Stopped         2

このUbuntuをtarファイルとして任意の場所(例:C:\Users\<ユーザー名>\Desktop\exported_Ubuntu.tar)にエクスポートします。

PS C:\Users\<ユーザー名>> wsl --export Ubuntu C:\Users\<ユーザー名>\Desktop\exported_Ubuntu.tar

次に任意の名前(myUbuntu)にして任意の場所(例:C:\wslDistroStrage\myUbuntu)にインポートします。
指定したフォルダの中にext4.vhdxという形式のVirtual Hard Diskファイルが出来ます。

PS C:\Users\<ユーザー名>> mkdir C:\wslDistroStrage\myUbuntu
PS C:\Users\<ユーザー名>> wsl --import myUbuntu C:\wslDistroStrage\myUbuntu C:\Users\<ユーザー名>\Desktop\exported_Ubuntu.tar

インストールされているディストリビューション一覧を確認すると複製されているのが確認できます。

PS C:\Users\<ユーザー名>> wsl --list --verbose
NAME STATE VERSION
* Ubuntu Stopped 2
myUbuntu Stopped 2

複製したディストリビューションを起動する

新しく複製したmyUbuntuをユーザー名を指定して起動します。ユーザー名はもともとのUbuntuのインストール時に設定したものです。
※ユーザー名を指定しなければrootユーザーとしてログインします。

PS C:\Users\<ユーザー名>> wsl --distribution myUbuntu --user <ユーザー名>
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.10.16.3-microsoft-standard-WSL2 x86_64)

* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage

System information as of Sat Oct 2 17:59:58 JST 2021

System load: 0.0 Processes: 8
Usage of /: 0.5% of 250.98GB Users logged in: 0
Memory usage: 1% IPv4 address for eth0: 172.21.57.61
Swap usage: 0%

1 update can be installed immediately.
0 of these updates are security updates.
To see these additional updates run: apt list --upgradable


The list of available updates is more than a week old.
To check for new updates run: sudo apt update


This message is shown once a day. To disable it please create the
/home/<ユーザー名>/.hushlogin file.

<ユーザー名>@DESKTOP-CANKOD7:/mnt/c/Users/<ユーザー名>$

ログアウトして終了します。

fs<ユーザー名>@DESKTOP-CANKOD7:/mnt/c/Users/<ユーザー名>$ exit
logout

ディストリビューションの解除

削除する場合はディストリビューションの登録を解除します。

PS C:\Users\<ユーザー名>> wsl --unregister myUbuntu
登録を解除しています...

ディストリビューション一覧を確認すると解除されたものは表示されなくなっています。

PS C:\Users\<ユーザー名>> wsl --list --verbose
NAME STATE VERSION
* Ubuntu Stopped 2