WSL2で同じディストリビューションのLinuxを複数立ち上げる方法

備忘録投稿です。WSLでUbuntuなどのLinux環境を用意しようとすると、1つのバージョンで1つの環境しか作れないわけです。ただ、作った環境を消したくないとか、プロジェクトごとに環境を別にしたいなど、複数サーバーを立てたい場合もあるわけです。Docker使えという声もありますが、それはそれで。

現状の確認

C:\Users\tomi>wsl --list  --verbose
  NAME                   STATE           VERSION
* AlmaLinux9             Stopped         2
  docker-desktop         Stopped         2
  Ubuntu-24.04           Stopped         2
  PistachioLinux         Stopped         2
  Ubuntu                 Stopped         2
  docker-desktop-data    Stopped         2

コピーしたい環境をExportします
wsl –export <ディストリビューション> <ファイル名> [オプション]

C:\Users\tomi>wsl --export Ubuntu-24.04 Ubuntu-24.04.tar
エクスポートが進行中です。これには数分かかる場合があります。
この操作を正しく終了しました。

C:\Users\tomi>dir *.tar
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は FCC4-EB4B です

 C:\Users\tomi のディレクトリ

2024/06/07  10:29     2,360,852,480 Ubuntu-24.04.tar
               1 個のファイル       2,360,852,480 バイト
               0 個のディレクトリ  1,335,584,833,536 バイトの空き領域

C:\Users\tomi>

別名でインポートします
wsl –import <ディストリビューション> <インストール先> <ファイル名> [オプション]

C:\Users\tomi>wsl --import Project1 ../wsl_Project1 Ubuntu-24.04.tar
インポート中です。この処理には数分かかることがあります。
この操作を正しく終了しました。

C:\Users\tomi>wsl --list  --verbose
  NAME                   STATE           VERSION
* AlmaLinux9             Stopped         2
  docker-desktop         Stopped         2
  Ubuntu-24.04           Stopped         2
  PistachioLinux         Stopped         2
  Ubuntu                 Stopped         2
  Project1               Stopped         2
  docker-desktop-data    Stopped         2

C:\Users\tomi>dir ..\wsl_Project1
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は FCC4-EB4B です

 C:\Users\wsl_Project1 のディレクトリ

2024/06/07  10:32    <DIR>          .
2024/06/07  10:32    <DIR>          ..
2024/06/07  10:32     2,663,383,040 ext4.vhdx
               1 個のファイル       2,663,383,040 バイト
               2 個のディレクトリ  1,332,196,519,936 バイトの空き領域

C:\Users\tomi>

起動

C:\Users\tomi>wsl -d Project1
Welcome to Ubuntu 24.04 LTS (GNU/Linux 5.15.146.1-microsoft-standard-WSL2 x86_64)

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

 System information as of Fri Jun  7 10:34:22 JST 2024

  System load:  0.0                 Processes:             51
  Usage of /:   0.2% of 1006.85GB   Users logged in:       0
  Memory usage: 4%                  IPv4 address for eth0: 172.30.73.12
  Swap usage:   0%


This message is shown once a day. To disable it please create the
/root/.hushlogin file.
root@um773:/mnt/c/Users/tomi#

デフォルトユーザーを root から一般ユーザーへ(“tomi"へ)
vi などで /etc/wsl.conf を編集

[boot]
systemd=true
[User]
default=tomi   

いったんexit してから再接続して確認

C:\Users\tomi>wsl -d Project1
Welcome to Ubuntu 24.04 LTS (GNU/Linux 5.15.146.1-microsoft-standard-WSL2 x86_64)

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

 System information as of Fri Jun  7 10:38:29 JST 2024

  System load:  0.34                Processes:             51
  Usage of /:   0.2% of 1006.85GB   Users logged in:       0
  Memory usage: 3%                  IPv4 address for eth0: 172.30.73.12
  Swap usage:   0%


This message is shown once a day. To disable it please create the
/home/tomi/.hushlogin file.
tomi@um773:/mnt/c/Users/tomi$ whoami
tomi
tomi@um773:/mnt/c/Users/tomi$ cd
tomi@um773:~$ pwd
/home/tomi
tomi@um773:~$ more /etc/os-release
PRETTY_NAME="Ubuntu 24.04 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04 LTS (Noble Numbat)"
VERSION_CODENAME=noble
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=noble
LOGO=ubuntu-logo

作った環境を削除

C:\Users\tomi>wsl --unregister Project1
登録解除。
この操作を正しく終了しました。

C:\Users\tomi>wsl --list  --verbose
  NAME                   STATE           VERSION
* AlmaLinux9             Stopped         2
  docker-desktop         Stopped         2
  Ubuntu-24.04           Stopped         2
  PistachioLinux         Stopped         2
  Ubuntu                 Stopped         2
  docker-desktop-data    Stopped         2

仮想ドライブは削除されるものの、ディレクトリは残ってしまうようなので、必要に応じて削除が必要そうです。

C:\Users\tomi>dir ..\wsl_Project1
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は FCC4-EB4B です

 C:\Users\wsl_Project1 のディレクトリ

2024/06/07  10:43    <DIR>          .
2024/06/07  10:32    <DIR>          ..
               0 個のファイル                   0 バイト
               2 個のディレクトリ  1,336,274,501,632 バイトの空き領域

一時的に止めたい場合には –terminate ( -t ) オプション

C:\Users\tomi>wsl -t Project1

技術・開発

Posted by tomi