【问题标题】:"Windows Subsystem for Linux has no installed distributions" even though 'Ubuntu' is installed即使安装了“Ubuntu”,“Linux 的 Windows 子系统也没有安装发行版”
【发布时间】:2019-08-11 12:02:58
【问题描述】:

由于C: 驱动器中的存储空间不足,我最近将wsl 目录移动到另一个驱动器。根据this StackOverflow post 中提供的答案,我使用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

有没有办法恢复到旧目录或使wsl 指向手动位置?

编辑:我不想重置Ubuntu,因为我想保留已安装的包和首选项...

【问题讨论】:

  • 我使用的是 Windows 10 版本 10.0.18362。确实有--import 选项,但这需要以前导出的tar 文件,而我没有...
  • 是的。它在那里,带有一个名为 (Default) 的键
  • 以前不是这样。但是在我做了一个解决方法之后,我的问题似乎得到了成功的解决,现在我可以看到一个可能是“Ubuntu”的子键......

标签: windows-subsystem-for-linux


【解决方案1】:

好吧,我终于找到了解决这个问题的方法。 ?

这就像使用lxrunoffline 工具使用rgregister 命令注册分发一样简单。

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>

【讨论】:

  • lxrunoffline 工具的下载位置
  • @Shakthifuture github.com/DDoSolitary/LxRunOffline。不管怎样,随着时间的推移,wsl CLI 出现了许多新功能。我建议您也检查一下...
  • 我也遇到了同样的问题,我已经安装了ubuntu。启用虚拟机和子系统,安装 wsl 时,使用“wsl -l -v”命令时我仍然没有显示 ubuntu。
  • 如果可以的话,请回答我的问题stackoverflow.com/questions/63858461/…
  • 你可以通过 PowerShell 使用 Chocolatey 安装 lxrunoffline,使用这个命令 choco install lxrunoffline (如果它不存在,你需要使用 PowerShell 安装 Chocolatey,请点击此链接:chocolatey.org/courses/installation/…
猜你喜欢
  • 2021-04-23
  • 1970-01-01
  • 2020-12-19
  • 1970-01-01
  • 1970-01-01
  • 2022-12-24
  • 1970-01-01
  • 2015-01-08
  • 2020-06-23
相关资源
最近更新 更多