やることを一言でいうと
公式サイトから最新のLinux向け7zipをwslにダウンロードしてwindows側のext4.vhdxからデータを解凍する
必要なもの
- データの移行先のディストリビューション(wsl2)
- 起動しなくなったwslのext4.vhdx
- パスは、
$HOME\AppData\Local\Packages\hoge.{ディストリビューション名}.hoge\LocalState\ext4.vhdx
であることが多い- 例 : Ubuntu 22.4.1.LTSの場合 :
$HOME\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx
- 例 : Ubuntu 22.4.1.LTSの場合 :
- パスは、
- 最新の7zip
apt等でインストールできる7za
や7pzip-full
の場合、vhdxファイルの解凍に対応していない可能性があります。
やること
起動しなくなったwslのext4.vhdxを好きな場所にコピー
必要な人のみ:自分が作業してた際にディストリビューションの初期処理で消えかけたため、警告
移行先のディストリビューションで、公式サイトから最新のLinux向け、7zipを救出先のwslへダウンロード、& 解凍
$ curl https://www.7-zip.org/a/7z2201-linux-x64.tar.xz -O
$ # 展開先のディレクトリを作成
$ mkdir 7zip
$ tar xvfJp 7z2201-linux-x64.tar.xz -C 7zip
$ # ヘルプを出して動くか確認
$ 7zip/7zz
ダウンロードした7zipを使い/mnt/c/
等にあるext4ファイルを展開する
$ # ex4.vhdxの中身がばらまかれないように保存先のディレクトリを作成 & 移動
$ mkdir hogehoge
$ cd hogehoge
$ # 先程展開した7zipでファイルを展開する
$ ../7zip/7zz x /mnt/c/hogehoge/fugafuga/ext4.vhdx
$
展開時、シンボリックリンク等が展開に失敗したとエラーを吐きますが、そこは諦めましょう