tech

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/<ユーザー名>$

Linuxディストリビューションの情報を確認してみます。

<ユーザー名>@DESKTOP-CANKOD7:/mnt/c/Users/<ユーザー名>i$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.2 LTS"

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

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
return Tech

owned service

more

contact

ひとつひとつの出会いを
大切にしています。

「課題を発見できる価値」
「本質にアプローチできる価値」
「唯一無二を提案できる価値」
わたしたちの強みは、ひとつひとつの出会いを大切にし、
共により良いほうへ向かっていけるよう真摯に取り組むことです。
オンラインでも個別の相談の場を設けます。
お気軽にご連絡ください。

お問い合わせフォームへ