要約
エクスポート
wsl --export Ubuntu D:\wsl\images\Ubuntu_20-04.tar
インポート
wsl --import Ubuntu_test D:\wsl\storages\Ubuntu_test D:\wsl\images\Ubuntu_20-04.tar
デフォルトユーザを定義
/etc/wsl.conf
にデフォルトユーザを定義する。
[user]
default=XXXXX
削除
wsl --unregister Ubuntu_test
WSL ディストリビューションの複製方法
事前準備(任意)
後述のデフォルトユーザの変更(wsl.conf の作成)を、バックアップ取得前に実施しておくのがお勧めです。
ディストリビューションをいくつも複製する場合、オペレーションが一度で充足します。
バックアップ取得(export)
Ubuntu という名称のディストリビューションがインストールされている前提とします。
> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
PowerShell より次のコマンドでイメージの export ができます。
wsl --export Ubuntu D:\wsl\images\Ubuntu_20-04.tar
export 先のフォルダは事前に作成しましょう。
ファイル名は任意です。
登録(import)
PowerShell より次のコマンドでイメージを import することができます。
wsl --import Ubuntu_test D:\wsl\storages\Ubuntu_test D:\wsl\images\Ubuntu_20-04.tar
コマンドの形式は wsl --import <Distro> <InstallLocation> <FileName>
であり、以下は各引数の説明です。
引数 | 設定例 | 説明 |
---|---|---|
Distro | Ubuntu_test | ディストリビューション名 |
InstallLocation | D:\wsl\storages\Ubuntu_test | インポート先のストレージ storages フォルダまでは事前作成しておくこと |
FileName | D:\wsl\images\Ubuntu_20-04.tar | 事前に export したファイル名 |
コマンドが正常終了すると wsl に新規のディストリビューションが追加されます。
また、D:\wsl\storages\Ubuntu_test
フォルダ配下に ext4.vhdx
というファイルが生成されます。
> wsl -l -v
NAME STATE VERSION
* Ubuntu Stopped 2
Ubuntu_test Stopped 2
デフォルトユーザの変更
import 直後のディストリビューションでは、ログインユーザが root になってしまいます。
PowerShell より wsl -d Ubuntu_test
で WSL 起動後、wsl.conf を作成しましょう。XXXXX
の部分は自分のユーザ名に置き換えます。
# cat << EOF > /etc/wsl.conf
> [user]
> default=XXXXX
> EOF
[user]
default=XXXXX
上記の設定は WSL 再起動後に反映されます。
一度 wsl -t Ubuntu_test
で WSL を停止する必要があります。
次回の接続からは XXXXX
で指定したユーザがログインのデフォルトになります。
なお、wsl -d Ubuntu_test -u XXXXX
と実行すれば、wsl.conf を作成せずともオンデマンドでログインユーザの変更が可能です。
不要になったら
登録解除(unregister)
次のコマンドでディストリビューションを削除できます。
wsl --unregister Ubuntu_test
wsl のリストから Ubuntu_test が消えます。
> wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
ext4.vhdx
のストレージファイルも消えます。
参考:
Microsoft:WSL の基本的なコマンド
Microsoft:WSL で使用する Linux ディストリビューションをインポートする