将 WSL2 中的 Ubuntu 从 20.04 升级到 22.04

alm*_*ma_ 76 windows-subsystem-for-linux 22.04

我是 WSL2-Ubuntu 的新手。我的电脑已经预装了20.04版本,但是我看到已经有22.04版本了,所以我想知道是否值得购买新版本。如果是这样,我该如何升级?

Not*_*1ds 145

简短回答:

一般来说,在 WSL 上升级 Ubuntu 的过程与现在从“普通”Ubuntu CLI 升级的过程几乎相同:

sudo apt update && sudo apt full-upgrade
# restart Ubuntu
sudo do-release-upgrade
Run Code Online (Sandbox Code Playgroud)

解释:

旁注:我建议阅读此问题和我的答案,以获取有关 Microsoft Store 版本为何不升级现有 Ubuntu/WSL 版本的一些背景信息。

如果值得拥有新的

无论如何,因为它是全新安装,所以我建议立即升级,是的。几个原因:

  • 虽然没有哪个版本是“完美的”,但 22.04 已经发布了足够长的时间,已经达到了 22.04.1 里程碑。这很重要,因为 Canonical 总是等待第一个点版本将 LTS 版本移至“稳定”通道。在此之前,尽管 22.04 已于 4 月份发布,但仍被视为“开发”版本。

  • 最终,无论如何你都需要升级。“最终”可能需要很长时间,因为 20.04 将获得近 3 年的支持,但您最终将在 22.04 上获得比 20.04 多 2 年的支持(从今天开始)。

  • 当系统上的软件包(尤其是来自 PPA 的任何软件包)较少时,升级总是更容易。Ubuntu 升级通常相当轻松,但是安装的越多,需要您手动干预的可能性就越大(即使仍然很小)。

所以,是的,继续升级是个好主意。

如果是这样,我该如何升级?

有两种方法可以解决这个问题:

删除并重新安装

首先,如果您确实还没有开始使用它,并且愿意“删除并重新安装”,那么您可以直接安装22.04。在某个时候,我预计商店中的“Ubuntu”将迁移到 22.04,但正如链接帖子中提到的,您仍然无法使用它来“升级”现有发行版。因此,至少目前,请使用商店中的“Ubuntu 22.04”版本:

  1. 要从 PowerShell 中删除现有发行版(当然,这是破坏性操作——Ubuntu 内的所有数据都将被删除):

    wsl -l -v
    # Confirm the distribution name and adjust below if needed
    wsl --unregister Ubuntu
    
    Run Code Online (Sandbox Code Playgroud)
  2. 然后从 Microsoft Store 安装或升级“Ubuntu 22.04”版本。

  3. 从应用商店安装后,您可以启动它,也可以从 PowerShell 启动:

    ubuntu2204.exe install --ui=none
    
    Run Code Online (Sandbox Code Playgroud)

    谢谢@Blair,您在这个答案中指出了我之前的指示中的错误。感谢@r4v3n6,在对此答案的评论中指出我在尝试修复第一个错误时犯了另一个愚蠢的错误。

    这将需要几秒钟的时间,询问您的用户名和密码,然后完成。WSL 下的 Ubuntu 发行版现在应该是 22.04。


“普通”22.04 从 20.04 升级

留出几个小时不需要 WSL。LTS 升级需要一段时间。

  1. 首先,确保您安装的 20.04 是最新的:

    sudo apt update && sudo apt full-upgrade
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在 WSL 上和从 PowerShell 中关闭 Ubuntu:

    wsl -l -v 
    # Confirm the distribution name and adjust below if needed
    wsl --terminate Ubuntu
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重新启动 Ubuntu 并:

    sudo do-release-upgrade
    
    Run Code Online (Sandbox Code Playgroud)

    IIRC,在升级的早期阶段将需要一些用户交互。完成后,退出升级屏幕会话,按照上面的方法再次重新启动 Ubuntu,然后就可以开始了。

    注意:多个先前版本要求您snapd在升级之前删除该软件包。现在在我自己的发行版上进行的几次测试中,这对于 20.04 -> 22.04 升级似乎不再是必要的。但是,如果您在升级时确实遇到错误,那么尝试sudo apt remove snapd然后重试可能会很有用。

升级后(对于任一方法)

升级后,22.04 中在 WSL 上运行时存在一些“烦恼”,您可以轻松纠正这些问题。看:

我不记得升级后是否存在其中一个或两个,但我知道它们位于“库存”22.04 WSL 安装中。

  • `sudo apt remove snapd` 对我来说很关键。在此之前,我只会得到一个无用的“中止”错误。 (7认同)

小智 7

我遵循了@NotTheDroid的答案,这有帮助(并且受到赞赏),但并没有完全起作用。非常感谢 - 感谢这篇文章,但也许​​在更新后流程发生了变化?在关注他们之后,我最终使用了 Ubuntu 20.04 而不是 Ubuntu 22.04.2

我从 MS 商店选择了“Ubuntu 22.04.2 LTS”,但按照所写的步骤进行操作后,最终再次选择了 Ubuntu 20.04。

仅当我:

  • 再次从 WSL 中删除 Ubuntu 安装,如步骤 1 中所述

  • 忽略第 2 步中的这部分:

    我建议您从应用商店安装后不要单击“打开”。

  • 我没有使用步骤 3,而是使用 Microsoft Store 中的“打开”选项来安装 Ubuntu 22.04。


归档时间:

查看次数:

122516 次

最近记录:

1 年,11 月 前