title | emoji | type | topics | published | ||||
---|---|---|---|---|---|---|---|---|
WSL上のLinuxのバックアップとリストア |
🥶 |
tech |
|
true |
WSL上のLinuxのバックアップとリストアの手順を残します。
以下の通りVersion2で実施します。
C:\Windows\System32>wsl -l -v
NAME STATE VERSION
* Ubuntu Running 2
C:\Windows\System32>
wsl --export ${ディストリビューション名} ${exportするbackup fileのフルパス}
wsl --export Ubuntu C:\Users\asaka\Downloads\backup_20231024.tar
dir C:\Users\asaka\Downloads\
wsl --import ${ディストリビューション名} ${インストール先パス} ${exportしたbackup fileのフルパス}
>wsl --import Ubuntu-restore-test C:\Users\asaka\OneDrive\Documents\WSL-OS\Ubuntu C:\Users\asaka\Downloads\backup_20231024.tar
- ${ディストリビューション名}が重複すると以下のメッセージが出るので一意の名前にする。
C:\Windows\System32>wsl --import Ubuntu C:\Users\asaka\OneDrive\Documents\WSL-OS\Ubuntu C:\Users\asaka\Downloads\wsl_no2_backup_20231024.tar
指定された名前のディストリビューションは既に存在します。
C:\Windows\System32>
問題なくimport出来れば${インストール先パス}にDiskファイルが出来ている事と
wsl -l
で${ディストリビューション名}が出来ている事を確認する。
C:\Windows\System32>wsl -l
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu (既定)
Ubuntu-restore-test
C:\Windows\System32>
リストアしたディストリビューションを既定に設定する。
wsl --set-default ${ディストリビューション名}
wsl --set-default Ubuntu-restore-test
C:\Windows\System32>wsl --list
Linux 用 Windows サブシステム ディストリビューション:
Ubuntu-restore-test (既定)
Ubuntu
C:\Windows\System32>
上記の手順でリストアしたディストリビューションは規定のユーザーがrootユーザーとなる。 既定のユーザーを一般ユーザーで運用するのであれば以下の対応が必要。
-
ログイン(この時点ではrootユーザーで実行される)
wsl -d ${ディストリビューション名}
-
sudoerの準備とユーザーの準備
apt update -y && apt install passwd sudo -y
myUsername=${ユーザー名}
adduser -G wheel $myUsername
echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
passwd $myUsername
-
wslから抜ける
exit
コマンドで抜ける -
wsl 落とす
wsl --terminate ${ディストリビューション名}
wsl --terminate Ubuntu-restore-test
- wsl 立ち上げる
wsl -d ${ディストリビューション名}
wsl -d Ubuntu-restore-test
本件の場合規定のディストリビューションの指定
を実行しただけで
Ubuntu-restore-test
の既定のユーザーでログインされることを確認したので不要の可能性もある。
https://www.aise.ics.saitama-u.ac.jp/~gotoh/HowToBackupLinuxOnWSL.html