WindowsのWSL上のUbuntuを複製する

スポンサーリンク
環境構築
スポンサーリンク

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) $

コメント