概要
Windows上で同一のUbuntuディストリビューションをインストールして使いたいということがありました。
Microsoft Storeなどから直接的に同一ディストリビューションを入れることはできないようで、一度ベースになるものをエクスポートして、それをインポートして複製して実現するというのが一般的なやり方のようです。
ここでは、その際に試したUbuntu22.04を複数インストールして使用する方法を記載していきます。
環境
- Windows 11 Pro
- WSL2
手順
まずは1つ目の、Ubuntu22.04をWSL2上にインストールしていきます。
Microsoft StoreからUbuntuをインストールします。インストール後は一度Ubuntuを一度開いて、ユーザやパスワード設定を行います。
完了したら、Windows側のコマンドプロンプトで以下のコマンドを実行します。これで複製の元になるバックアップファイルをエクスポートすることができます。(参考:バックアップファイル容量 1GB程度)
wsl --export Ubuntu ubuntu_backup.tar
この状態で、wsl -l –verboseコマンドを実行した時の私のPCのWSLのリストを表示した結果以下のようになりました。dockerが入っていますがこちらは気にせず、Ubuntu22.04のディストリビューションが1つ入っている状態になります。
C:\Users\remix>wsl -l --verbose NAME STATE VERSION * docker-desktop-data Running 2 Ubuntu Stopped 2 docker-desktop Running 2
バックアップしたファイルをもとに、インポートを行いUbuntu22.04の複製を行います。
以下のコマンドでインポートができます。
wsl --import [Name] [InstallationDirectory] [BackupFile]
私のほうでは以下のコマンドを実行しました。あらかじめCドライブ直下にwslフォルダを作っておく必要があります。wslに関するファイルはC:\wsl以下に入れておくスタイルにしています。
wsl --import Ubuntu2 c:\wsl\ubuntu2 ubuntu_backup.tar
import完了後に、WSLの一覧を確認したところUbuntu2というのが増えており、正しくインポートできていそうです。
C:\Users\remix>wsl -l --verbose NAME STATE VERSION * docker-desktop-data Running 2 Ubuntu Stopped 2 Ubuntu2 Stopped 2 docker-desktop Running 2
Ubuntu2を開くために、VS Codeで接続したいと思います。VS Codeを開いて左下の緑の端末マークを押して、ディストリビューションを使用してWSLに接続を選択します。(緑色のマークが出てこない人は拡張機能のWSLをインストールする必要があると思います)
Ubuntu2を選択します。
これで複製したUbuntu2に接続して、ファイルの確認や、ターミナルを使っていくことができます。
このまま使う場合だと、ターミナルのログインユーザがrootになっているので、rootで入りたくないという方は以下の設定を行います。
Ubuntuのターミナルから、/etc/wsl.confを開きます。
root@remix-pc:~# nano /etc/wsl.conf
以下の内容を追記します。ユーザ名の部分はご自身の追加したユーザ名にしてください。
[user] default=ユーザ名
変更を反映するために、一度WSLを落として、もう一度VS Codeを起動します。
終了するには以下のコマンドを実行します。
wsl --shutdown
以下のようにrootで起動せずに指定したユーザで起動するようになります。
コメント