如何在不丢失数据的情况下恢复我的旧版 WSL?

如何在不丢失数据的情况下恢复我的旧版 WSL?

我已经安装了适用于 Linux 的 Windows 子系统很长时间了。今天,在干净启动我的 Windows 10 后,它无法启动,并显示常规错误消息:

Windows Subsystem for Linux 尚未安装发行版。
可以通过访问 Microsoft Store 安装发行版:
https://aka.ms/wslstore
按任意键继续...

在我的 中%LOCALAPPDATA%\lxss,我看到 WSL 仍然完全存在。我还能以某种方式启动它吗?如果不能,如果我执行新安装,我是否可以以某种方式挂载旧目录,以便不仅所有数据,而且所有权限等都可见,然后将它们移动到新安装?

我不需要详细说明,但是当 WSL 不工作时,任何必须从 WSL 运行的备份实用程序也将不起作用。

我犹豫着是否要尝试,lxrun /install因为我担心它会毁掉我的所有数据。


我不知道为什么,它又开始工作了。我仍然想知道发生了什么,以及修复了什么,这样如果将来再次发生这种情况,我就知道该怎么做。

答案1

我了解您有发行版的根文件夹,但您无法使用bash或运行它wsl。我认为您可以尝试使用以下方法重新注册您的旧安装文件夹lxRunOffline


注册现有安装

# lxrunoffline register -n <distro name> -d <basepath>
C:> lxrunoffline register -n copy -d %LOCALAPPDATA%\Packages\...\LocalState

我认为是文件夹BasePath的父级rootfs。例如,如果根文件夹是

%LOCALAPPDATA%\Packages\...\LocalState\rootfs

基本路径必须是

%LOCALAPPDATA%\Packages\...\LocalState

答案2

我有一个 Ubuntu 实例,我可以恢复数据的路径是:

C:\Users\[username]\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_[someID]\LocalState\rootfs

相关内容