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