WSLに複数のUbuntuを作成する方法
§ 概要
以前書いた記事からの抜粋と若干の加筆・修正したものです。
WSL上に、複数のUbuntuを入れて切り替えたい方法についてです。
§ 手順
◆ WSLにUbuntuをインストール
まず、Ubuntuがインストールされていない場合、最初のUbuntuをインストールします。
> wsl --install Ubuntu-22.04
◆ wsl.conf ファイルの設定
wsl.conf設定ファイルに、ログインするデフォルトユーザとして、Ubuntuインストール時に入力したadminユーザのアカウントを指定します。
ログイン時に使用されるアカウントはレジストリに記録されますが、後の工程でUbuntuを複製した際にレジストリまでは複製しないため、ここで明示的に指定しておきます。
$ sudo nano /etc/wsl.conf # wsl.confファイルを新規作成
wsl.confの最後に[user]セクションを追加します。
...(略)...
[user]
default = scott
◆ ディストリビューション名の複製
WSLにインストールされたディストリビューションを直接複製する機能はありませんが、ディスクイメージとしてバックアップ→リストアを行うことで複製することができます。
まず、今の"Ubuntu-22.04"ディストリビューションのバックアップを作成します (バックアップ先のパスとファイル名は適当に付けてください)。
> wsl --export "Ubuntu-22.04" D:\backup\backup.tar
複製するディストリビューションを格納するディレクトリを作成します。下の例では、ユーザーフォルダー直下にwslimagesというディレクトリを作成しています。
> mkdir $Env:USERPROFILE\wslimages
次に、作成したバックアップイメージを読み込みます。wsl --importの各引数の意味は順番に以下の通りです(dev1は例ですので、任意の名前にしてください)。
- 新しいディストリビューション名 (下記の例ではdev1)
- ディストリビューションのイメージファイル (下記の例では$Env:USERPROFILE\wslimages\dev1)
- wsl --exportコマンドで作成したバックアップイメージ
> wsl --import "dev1" $Env:USERPROFILE\wslimages\dev1 D:\backup\backup.tar
wslコマンドでは、起動するディストリビューションを"-d <<ディストリビューション名>>"で指定できます。
しかし、毎回入力するのは面倒なので、"-d"オプションを省略したときのデフォルトのディストリビューションを指定することができます。
以下のコマンドで、デフォルトのディストリビューションを指定します。
> wsl --set-default "dev1"
作成したバックアップファイルはもう不要ですので、削除してもかまいません。
> rm D:\backup\backup.tar
Discussion