在更换笔记本电脑的 SSD 之前,我在 WSL 中运行 Ubuntu1在 Win10 v1909 上。我将旧 SSD 放在机箱中,可以从新安装的 Windows 访问其上的文件。
如何从旧 SSD 上的 WSL 安装中获取文件(主要是 crontab 文件、主文件夹)?
在新安装下C:\Users\<user>\AppData\Local\Microsoft\WindowsApps
有文件夹:
CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
CanonicalGroupLimited.UbuntuonWindows_2004.2020.424.0_x64__79rhkp1fndgsc
(and file ubuntu.exe)
下面CanonicalGroupLimited.UbuntuonWindows_2004.2020.424.0_x64__79rhkp1fndgsc
有一个rootfs
带有 Linux 文件系统的文件夹。
旧的SSD安装在驱动器F:\上,但F:\Users\<user>\AppData\Local\Microsoft\WindowsApps
文件夹下CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
没有rootfs
文件夹。
答案1
这些说明可能适用于 WSL1 到 WSL2,也可能不适用于 WSL2 到 WSL2,但至少适用于 WSL2 到 WSL2,我怀疑此时许多人都会寻找有关以下方面的说明:
wsl --import-in-place <distro name> <old windows root>\Users\<username>\AppData\Local\Packages\<package for your distribution>\LocalState\ext4.vhdx
wsl --distribution <distro name>
就我而言,我安装了旧驱动器G:
,并使用 Windows 商店中的 Ubuntu,因此我的完整命令如下:
wsl --import-in-place OldUbuntu C:\Users\username\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
wsl --distribution OldUbuntu
这使我进入了旧安装中的 shell,我可以从那里恢复文件。它还在Linux
Windows 资源管理器中的区域添加了一个文件夹,这样我就可以使用 GUI 来复制文件。