WindowsのWSL上でUbuntuの環境を複製し、複数のUbuntu環境を使う方法をまとめます。WindowsのWSL2で作成したUbuntuでは、実験的な環境構築をしてみたくなることがあるかもしれません。今回は既存のWSL2のUbuntu環境を維持したまま、複製して実験的に使えるUbuntu環境を作成してみます。
Ubuntuのエクスポート
WindowsでWSL2環境を作成済みであることが前提となります。powershellで下記のコマンドでインストール済みのUbuntu環境を確認します。
> wsl --list --verbose
NAME STATE VERSION
* Ubuntu-20.04 Running 2
引き続いて、Ubuntuをtarファイルにエクスポートします。ディストリビューション名と出力するパスを指定します。下記のようにおよそ4GBのファイルができました。
> wsl --export Ubuntu-20.04 d:\Users\Ubuntu.tar
エクスポートが進行中です。これには数分かかる場合があります。
この操作を正しく終了しました。
> ls
ディレクトリ: D:\Users
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2022/11/29 23:34 4298977280 Ubuntu.tar
参考:WSLの基本的なコマンド
Ubuintuのインポート
新たにUbuntu2という名前で、Ubuntuを作成します。
> wsl --import Ubuntu2 d:\Users\Ubuntu2 d:\Users\Ubuntu.tar
インポート中です。この処理には数分かかることがあります。
この操作を正しく終了しました。
> cd Ubuntu2
> ls
ディレクトリ: D:\Users\Ubuntu2
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 2022/11/29 23:57 4575985664 ext4.vhdx
> wsl --list --verbose
NAME STATE VERSION
* Ubuntu-20.04 Running 2
Ubuntu2 Stopped 2
新しくUbuntu環境ができました。
新しいUbuntuの起動
コマンドでディストリビューションを切り替えます。
> wsl --distribution Ubuntu2 --user UserName
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.15.74.2-microsoft-standard-WSL2 x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
UserName@DESKTOP-0BCJOPC:/mnt/d/Users/Ubuntu2$
起動しました。同時に立ち上げることもできます。
> wsl --list --verbose
NAME STATE VERSION
* Ubuntu-20.04 Running 2
Ubuntu2 Running 2
VSCodeなどでも切り替えて使うことができるようになりました。実験的な環境構築などが試せるようになりました。
再起動時のログインについて
PCを再起動して、複製したUbuntu環境に入ろうとすると、rootで入ってしまう場合があるようです。プロンプトが「#」になっていた場合は、rootになっています。その場合は、元のUbuntu環境で設定したユーザーなど、他のUserで入りなおしましょう。(下の「UserName」のところに各自のユーザー名を指定します。)
# su UserName
(base) $ cd ~
(base) $ pwd
/home/UserName
(base) $
コメント