由于wsl
驱动器中的存储空间不足,我最近将C:
目录移动到了另一个驱动器。根据{{3}}中提供的答案,我使用了lxrunoffline
工具,并将我的 Ubuntu 发行版移动到了另一个驱动器(本例中为E:\wsl
)。发行版本成功移动后,我就运行wsl
进行测试,它就像一个魅力。
一切正常,直到有一天我不小心将E:\wsl
文件夹重命名为其他名称。好了,正如预期的那样,wsl
无效。然后,我恢复为wsl
的名称,并希望它能正常工作,但令我惊讶的是,即使安装了发行版,它也没有找到任何已安装的发行版...?
E:> wsl
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore
this great answer, "Changing TCP Timeouts" section
是否有任何方法可以还原到旧目录或使wsl
指向手动位置?
编辑:我不想重置Ubuntu
,因为我想保留已安装的软件包和偏好设置...
答案 0 :(得分:0)
好吧,我终于找到了解决这个问题的方法。 ?
这就像使用lxrunoffline
或rg
命令使用register
工具注册发行版一样简单。
E:\LxRunOffline\LxRunOffline-v3.3.3>lxrunoffline rg
[ERROR] the option '-d' is required but missing
Options:
-n arg Name of the distribution
-d arg The directory containing the distribution.
-c arg The config file to use. This argument is optional.
运行 register 命令后,我能够照常启动wsl
。但这将以“ root”用户身份登录,因此将从“ / root”目录启动。我以不同的用户身份运行了以下命令以启动wsl
(这是Ubuntu的):
ubuntu config --default-user <user-name>