WSLの環境はimport、exportができ、Windowsの標準機能とコマンドで簡単に環境を戻したり、複製したりできるのが便利です。
エクスポート
以下のコマンドでエクスポートします。
wsl --export [distribution_name] [file_name].tar
インポート
以下のコマンドでインポートして、いつでも環境を復元できます。
wsl --import [distribution_name] [path/to/install/dir] [file_name].tar --version 2
「 --version 2」をつけるとWSL2になります。
エクスポートしてインポートするとデフォルトのユーザーがrootになってしまいます。
なので以下のようにユーザー名を指定して起動しないといけません。
wsl -d [name] -u [user_name]
デフォルトユーザーを変更
ユーザー名を指定するのが面倒なのでデフォルトユーザー名を変更しましょう。以下に便利な関数がありましたので使用しました。(powershell)
Function WSL-SetDefaultUser ($distro, $user) { Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq $distro | Set-ItemProperty -Name DefaultUid -Value ((wsl -d $distro -u $user -e id -u) | Out-String); };
WSL-SetDefaultUser <DistroName> <UserName>