目的
WSL2 が稼働していたWindows機が物理的に壊れてしまったが、HW構成を変えたらWindowsが起動しなくなってしまった。
せっかくなのでクリーンインストールしたいが、必要なデータは抜くだけ抜きたい。といった状態。
とりあえずUbuntu18.04のLive DVDで当該SSDをマウントして、データだけコピーしてしまえ、ということで。
作業内容
目的のディスクが刺さった状態のUbuntu18.04がある
UbuntuならGUIで覗きに行けば勝手にROでマウントしてくれる
/dev/nvme0n1p2 931G 563G 368G 61% /media/ubuntu/A82CE8972CE861B4
にC:\がマウントされている状態。
とりあえずNTFSで置かれているものはここから抜く
WSL2分についてはWindows各ユーザのAppData以下にvdhxファイルを生成してそのへんに置くらしい。
Ubuntu
ubuntu@ubuntu:/media/ubuntu/A82CE8972CE861B4/Users/(ユーザ名)/AppData/Local/Packages/CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc/LocalState$ ls -lh
合計 12G
-rwxrwxrwx 2 ubuntu ubuntu 12G 4月 3 01:19 ext4.vhdx
このvhdx自体はWSL2でしか読めないファイルらしく、Windows環境にコピーする必要がある。
コピーしたら、PowerShellで以下実行
PS C:\Users\User> wsl --mount --vhd ".\ext4.vhdx"
ディスクは '/mnt/wsl/CUsersUserext4vhdx' として正常にマウントされました。
注: /etc/wsl.conf で automount.root 設定を変更した場合、場所は異なります。
ディスクのマウントを解除してデタッチするには、'wsl.exe --unmount \\?\C:\Users\User\ext4.vhdx' を実行してください。
PS C:\Users\User> wsl --mount --vhd ".\ext4.vhdx"
ちなみに
> wsl --mount --vhd ".\ext4.vhdx"
コマンド ライン オプションが無効です: --mount
と言われた場合、wslのバージョンが古いらしい。wsl --update
すれば解決した。
PS C:\Users\User> wsl --update
インストール中: Linux 用 Windows サブシステム
Linux 用 Windows サブシステム はインストールされました。