如何在 Windows 11 上的 WSL 中安装 Ubuntu 21.10?

Aar*_*ack 12 system-installation windows-subsystem-for-linux 21.10

我在 Windows 应用商店中没有看到安装 Ubuntu 21.10 的选项。

我想在 Windows 11 上的 WSL 中安装具有图形支持 (WSLg) 的 Ubuntu 21.10。我在 Windows 应用商店中搜索了“Ubuntu”,但只找到了较旧的版本。

Not*_*1ds 22

请注意,此答案仅在已发布的 Ubuntu 20.04 版本上有效并经过测试。正如 @GavinRay 在单独的答案中报告的那样,WSL 的 Ubuntu 社区预览版(当前使用 21.04)上的此过程存在问题。请参阅加文的答案以获取解决方案。

Ubuntu 仅提供(并测试)LTS 版本,以便在 WSL 上直接下载和安装。

您可以安装基本的“Ubuntu”发行版(当前为 20.04),然后将其升级到 21.10,与正常机制略有不同:

  • sudo apt update && sudo apt upgrade以确保现有版本是最新的。

  • sudo apt remove snapd-- 需要,因为 WSL 不直接支持 Systemd

  • sudo 编辑/etc/update-manager/release-upgrades并将最后一行更改为:

    prompt=normal
    
    Run Code Online (Sandbox Code Playgroud)
  • sudo do-release-upgrade升级到 Hirsute/21.04

  • 建议:退出 WSL,wsl --terminate Ubuntu从 PowerShell 或 CMD 执行,然后重新启动 WSL/Ubuntu。

  • 重复sudo do-release-upgrade升级到 Impish/21.10

  • 建议: sudo apt purge needrestart在安装任何软件包后摆脱不必要的检查。

同样,这并不是 Canonical 似乎必须测试的场景,但人们已经这样做了一段时间(以及安装许多其他不同的发行版)。

升级后,我建议创建一个备份映像。如果您需要在不影响正常安装的情况下尝试一些东西,这可以用于在将来创建新的、干净的 21.10 安装。

wsl --export Ubuntu Ubuntu2110_fresh_install.tar
Run Code Online (Sandbox Code Playgroud)

通过创建一个目录来创建新的安装,并且:

wsl --import Ubuntu2110Test <directory> Ubuntu2210_fresh_install.tar
Run Code Online (Sandbox Code Playgroud)

我个人只是继续自动创建一个新的安装。它的优点是:

  • 让我为安装命名我想要的名称(例如“Ubuntu-21.10”)
  • 将其放置在除下方之外的其他位置%userprofile%\AppData\Local\Packages