Ubuntu 已安装,但 Linux 的 Windows 子系统尚未安装发行版

Ubuntu 已安装,但 Linux 的 Windows 子系统尚未安装发行版

我已经手动安装了 ubuntu 18.04(因为我的 Microsoft Store 不起作用),现在 ubuntu 是默认操作系统。然后我切换到 Windows 并打开 cmd(我尝试在正常模式下以及管理员模式下使用 cmd)并运行wsl(我的计算机只能支持 wsl1),但我收到错误:

C:\Users\Lenovo>wsl
Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore

但是虚拟机已经启用,wsl 也开启了(通过“打开或关闭 Windows 功能”),如何解决?

答案1

WSL(尤其是 WSL 版本 1)安装更喜欢Microsoft Store 无法正常运行,因为它们在 Windows 环境中安装特殊。WSL2 使用 Windows 中的虚拟机管理程序层来运行 Linux,但在大多数情况下,它利用 Windows 在 Microsoft Store 上的安装工具和机制以兼容的方式进行部署。您所做的是双启动,而不是像您那样安装到操作系统。有一个单独的应用程序安装过程。


您所做的是双启动,而不是 WSL 安装。

如果您像之前一样进行了双启动,WSL 将无法访问双启动。双启动直接安装在 Windows 无法读取的分区和文件系统中的磁盘上 - 因此,您无法使用 WSL 访问双启动。

双启动也不是 WSL - 它是一个实际的磁盘安装,与 Windows 并排作为其自己的实体,并且不是Windows 或 WSL 的一部分。

如果您打算使用 Ubuntu,那么在这样的双启动配置中,只需直接使用 Ubuntu,并根据需要选择性地启动 Windows 或 Ubuntu。Ubuntu 可以访问/读取 Windows 分区中的信息(如果您在 Windows 中禁用快速启动),但 Windows 将无法读取 Ubuntu 的数据。


微软确实在此提供了安装 WSL 的手动步骤,尽管它仍然有点依赖于在没有商店的情况下从微软本地下载项目作为“应用程序”。

执行 WSL 手动安装的方法是使用来自 Microsoft 的以下数据 -https://docs.microsoft.com/en-us/windows/wsl/install-manual- 使用以下 PowerShell 步骤(示例使用 Microsoft 网站上的 16.04,但我将使用 20.04 链接):

  1. 在 Powershell 中下载 WSL 的发行版

    Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
    
  2. 安装发行版 - 它是一个 appx 文件,因此你需要使用 PowerShell 在 WSL 中安装它

    Add-AppxPackage .\Ubuntu.appx
    

这应该会完成 WSL 的安装。然后,您还有两个可能的步骤要执行:

相关内容