WSL2でexportしてないdistroを直接importする
概要
OSを入れ直したPCで以前使っていたWSL2のdistroをインポートします。
tarで固めたファイルをインポートするやり方はいろんな人がやってるんですが、今回はtarで固めるのを忘れてOS再インストールしたので...
前提
- 元々、exportしたWSL2のdistroをDドライブに配置して運用していました。
- WSL2はセットアップ済み。
想定するシチュエーション
PCを組み直してSSDも変更したのでOSをクリーンインストールしました(書きづらいのでここでは再インストールとします)。
しかし、再インストール前にWSL2のdistroをexportするのを忘れていました。
前提にも記載しましたが、Dドライブにdistroを配置して運用していたので、.vhdx
ファイルはDドライブに存在します。
exportでtarに固めたファイルのインポート方法はいくらでも書いてあるけど、tarで固めてないパターンの手順がわからない...と言うシチュエーションです。
import-in-placeでdistroをインポート
--import-in-place
オプションを使って.vhdx
ファイルを直接指定してインポートします。
以下の通りです。
PS C:\Users\> wsl --list --verbose Linux 用 Windows サブシステムにディストリビューションがインストールされていません。 'wsl.exe --list --online' を使用して利用可能なディストリビューション を一覧表示し、'wsl.exe --install <Distro>' を使用してインストールします。 また、Microsoft Store にアクセスしてディストリビューションをインストールすることもできます: https://aka.ms/wslstore Error code: Wsl/WSL_E_DEFAULT_DISTRO_NOT_FOUND PS C:\Users\> wsl --import-in-place workspace D:\wsl\Ubuntu\ext4.vhdx この操作を正しく終了しました。 PS C:\Users\lyche> wsl --list --verbose NAME STATE VERSION * workspace Stopped 2
詳細は公式の下記ドキュメントを参照。
WSL の基本的なコマンド | Microsoft Learn
参考
雑感
実践されている方が居て助かりました。久しぶりにWSL触ったのでヘルプを読んでもなかなかピンと来なくて...