他のWebページを参考にWindows 11のWSL2で複数の同じOS (Ubuntu 22.04) を使用する環境を用意したときのメモになります。Windows 11のWSL2にはすでに Ubuntu 22.04 が一つインストールされている状態での手順になります。
1. Power Shellを管理者権限で起動し、下記のコマンドを実行します。
PS C:\Users\username> wsl -l --verbose NAME STATE VERSION * Ubuntu Running 2
2. 下記のコマンドを実行し、使用しているOS環境 (Ubuntu) をエクスポートします。
PS C:\Users\username> wsl --export Ubuntu Ubuntu-22.04.4.Copy.tar
3. 下記のコマンドを実行し、エクスポートしたOS環境をインポートします。
PS C:\Users\username> wsl --import Ubuntu-22.04.4.Copy Ubuntu-22.04.4.Copy Ubuntu-22.04.4.Copy.tar
4. もう一度手順 1. のコマンドを実行すると下記のように表示されます。
PS C:\Users\username> wsl -l --verbose NAME STATE VERSION * Ubuntu Running 2 Ubuntu-22.04.4.Copy Stopped 2
5. 下記のコマンドでインポートしたOS環境 (Ubuntu-22.04.4.Copy) に指定したユーザー名でログインできることを確認しました。
PS C:\Users\username> wsl -d Ubuntu-22.04.4.Copy -u username
6. OS環境 (Ubuntu-22.04.4.Copy) 内で、次回以降、インポートしたOS環境 (Ubuntu-22.04.4.Copy) を起動するときのデフォルトのログインユーザー名を設定します。vi エディタ等で /etc/wsl.conf に下記のハイライトした行を追加します。下記の例ではユーザー名は username です。
username@ESPRIMOWD2H2:~$ cat /etc/wsl.conf [boot] systemd=true [user] default=username
7. インポートしたOS環境には、下記の例のようにエクスポートした環境で作成したディレクトリ、ファイル等が含まれていることを確認しました。
fukagai@ESPRIMOWD2H2:~$ ls /repos/ images yolov9 fukagai@ESPRIMOWD2H2:~$ sudo docker ps -a [sudo] password for fukagai: CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0c38c2a0b984 nvcr.io/nvidia/pytorch:21.11-py3 "/opt/nvidia/nvidia_…" 14 hours ago Exited (0) 14 hours ago yolov9-gpu
8. OS環境は下記のコマンドで削除できます。下記のコマンドではOS環境 (Ubuntu) を削除しています。
PS C:\Users\username> wsl --unregister Ubuntu
9. 補足
Ubuntu 22.04 環境で NVIDIA の GPGPU を使う Docker の設定手順の再確認をしたかったので、上記のように同じバージョンの OS を複数 WSL2 で動かす手順の確認をしました。
手順 1. から 7. までで元のOS環境のバックアップを取ることができることを確認しました。
手順 8. で元の Ubuntu 22.04 の環境を削除し、下記のコマンドで WSL2 に Ubuntu 22.04 を再インストールしました。インストールされた Ubuntu 22.04 は下記のコマンドの例のように Ubuntu 22.04 をインストールした直後の環境となっていることを確認しました。
PS C:\Users\username> wsl --install Ubuntu は既にインストールされています。 Ubuntu を起動しています... Installing, this may take a few minutes... Please create a default UNIX user account. The username does not need to match your Windows username. For more information visit: https://aka.ms/wslusers Enter new UNIX username: fukagai New password: Retype new password: passwd: password updated successfully この操作を正しく終了しました。 Installation successful! To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. Welcome to Ubuntu 22.04.3 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/advantage This message is shown once a day. To disable it please create the /home/fukagai/.hushlogin file. fukagai@ESPRIMOWD2H2:~$ ls fukagai@ESPRIMOWD2H2:~$ sudo docker ps -a [sudo] password for fukagai: sudo: docker: command not found fukagai@ESPRIMOWD2H2:~$ history 1 ls 2 sudo docker ps -a 3 history fukagai@ESPRIMOWD2H2:~$ cat /etc/issue Ubuntu 22.04.3 LTS \n \l