Mono Works

チラシのすきま

WSL環境の移行

WSL2で利用しているディストリビューション環境を丸ごと別PCのWSL2に移行しようというもの。たまにしか確認しないので、現状での最新情報としてメモしておく。基本は、ディストリビューションのインポートとエクスポート | WSL の基本的なコマンド | Microsoft Learnのコマンドを実行なんだけど、.vhdxファイルを直接コピーでもいける。

イメージ

移行元PCでの作業

移行先でデフォルトユーザーを引き継ぐ場合は、あらかじめ移行元PCのWSLで/etc/wsl.confを用意して移行すると、最初から同じユーザーで開始できる。

# /etc/wsl.confがなければ作成
cd ~/etc/
sudo touch wsl.conf
sudo chmod +x wsl.conf

wsl.confに下記の書式で利用したい{ユーザー名}を記載しておく。

[user]
default = {ユーザー名}

移行元PCで下記コマンドをPowerShellかコマンドプロンプトで実行し、WSL環境を停止する。

# ディストリビューションと起動状況の確認
wsl --list --verbose

# ディストリビューションの停止(ディストリビューション名を"Ubuntu"として記載)
wsl --terminate Ubuntu

WSL環境を停止したら、下記フォルダ内にあるext4.vhdxファイルをコピー。

%LOCALAPPDATA%\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState

なお、「CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc」フォルダ名の「Ubuntu」に相当する箇所にディストリビューション名があてはまる。例えば、ディストリビューションがUbuntu 22.04 LTSなら、「CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc」のようになる。

移行先PCでの作業

ext4.vhdxファイルを移行先PCのC:\wslフォルダにコピーした場合、下記コマンドをPowerShellかコマンドプロンプトで実行する。

# WSLのインストール
wsl --install

# ディストリビューションのインポート
wsl --import-in-place Ubuntu C:\wsl\ext4.vhdx

参考サイト

コメント

コメントなどありましたら、GitHubのディスカッションへお願いします。(書き込みには、GitHubのアカウントが必要です)
執筆者
"ぽぽろんち" @pporoch
pporoch120
Mono Worksの中の人。好きなことをつらつらと書き留めてます。
ギターを始めてから 練習動画をYouTubeにアップしてます。ご笑納ください。
"DQX@ぬここ(UD487-754)、コツメ(NO078-818)"
採用案内