速卖通素材
奋斗

从Ubuntu 20.04升级到22.04或24.04有哪些注意事项?

服务器

从 Ubuntu 20.04 (Focal Fossa) 升级到较新的版本(22.04 Jammy Jellyfish 或 24.04 Noble Numbas)是一个重大操作。虽然官方支持通过图形界面或命令行直接升级,但数据安全和系统稳定性是首要考虑因素。

以下是详细的注意事项和最佳实践指南:

⚠️ 核心原则:备份!备份!备份!

在执行任何升级操作之前,请确保你拥有完整的系统备份。

  • 个人数据:备份 /home 目录下的所有重要文件(文档、图片、配置隐藏文件如 .ssh, .config 等)。
  • 系统配置:如果可能,使用 timeshift 创建系统快照,或者手动备份关键配置文件(如 /etc/ 下的自定义配置)。
  • 虚拟机/容器:如果是服务器环境,建议先克隆虚拟机镜像或导出容器状态。

一、选择目标版本:22.04 vs 24.04

特性 Ubuntu 22.04 LTS Ubuntu 24.04 LTS
发布时间 2022年4月 2024年4月
内核版本 5.15 (HWE可更新到6.x) 6.5+ (默认)
GNOME版本 GNOME 42 GNOME 46
Python版本 Python 3.10 Python 3.12
GCC版本 GCC 11 GCC 13
支持周期 至2027年(标准),至2029年(ESM) 至2029年(标准),至2032年(ESM)
推荐场景 追求稳定,硬件兼容性良好 需要最新软件栈、新硬件支持(如AI/ML库)、长期维护

建议:除非你有特定需求(如需要最新的 Python/GCC/AI 库,或新硬件驱动),否则直接从 20.04 升级到 22.04 再升级到 24.04 通常更稳妥。直接跨大版本升级(20.04 → 24.04)可能会遇到更多依赖冲突。


二、升级前的准备工作

1. 检查硬件兼容性

  • 磁盘空间:确保 / 分区至少有 10–15 GB 的可用空间。升级过程需要临时空间下载和解压包。
  • UEFI/BIOS:确认 BIOS 设置为 UEFI 模式(尤其是对于 24.04,对 Secure Boot 和 TPM 有更高要求)。
  • 显卡驱动:
    • NVIDIA 用户:如果使用专有闭源驱动,建议在升级前卸载或使用开源 nouveau 驱动测试稳定性。
    • AMD/Intel:通常无需额外操作,内核自带驱动即可。

2. 清理系统

  • 移除不需要的第三方 PPA(Personal Package Archives),因为它们可能在新版本中不再兼容。
  • 运行以下命令清理缓存和未使用的包:
    sudo apt update
    sudo apt upgrade
    sudo apt autoremove
    sudo apt clean

3. 禁用加密文件系统(如 LUKS)

  • 如果你的根分区使用了 LUKS 加密,某些升级路径可能需要解密后才能进行。建议提前备份并考虑是否真的需要全程加密。

4. 记录已安装的软件

  • 生成当前已安装软件的列表,以便升级后重新验证:
    dpkg --get-selections > installed_packages.txt

三、升级方法(推荐顺序)

方法 A:通过图形界面升级(最简单,适合桌面用户)

  1. 打开“软件和更新”(Software & Updates)。
  2. 切换到“更新”选项卡。
  3. 在“通知我可用新版本时”下拉菜单中选择“对于任何新版本”。
  4. 等待提示出现,点击“立即升级”并按照向导操作。
    • ✅ 优点:自动化程度高,错误处理较好。
    • ❌ 缺点:无法自定义升级参数,失败后恢复较难。

方法 B:通过命令行升级(推荐,可控性强)

第一步:升级到 22.04

sudo do-release-upgrade
  • 系统会提示你是否继续,输入 y 确认。
  • 过程中可能需要多次重启。
  • 如果失败,不要强行中断,尝试修复后重试。

第二步:从 22.04 升级到 24.04

  • 当系统成功运行在 22.04 后,重复上述步骤:
    sudo do-release-upgrade
  • 注意:跳过 22.04 直接升到 24.04 通常不被 do-release-upgrade 支持,必须逐步升级。

方法 C:全新安装 + 迁移数据(最安全,推荐服务器/生产环境)

  1. 制作 Ubuntu 24.04 USB 启动盘。
  2. 备份所有数据。
  3. 格式化硬盘并全新安装 24.04。
  4. 将备份的数据和配置文件还原到新系统中。
    • ✅ 优点:无遗留问题,系统干净,性能最佳。
    • ❌ 缺点:耗时较长,需重新配置环境。

四、常见陷阱与解决方案

1. NVIDIA 驱动问题

  • 现象:升级后黑屏、登录循环、分辨率异常。
  • 解决:
    • 进入恢复模式(Recovery Mode),选择 root shell。
    • 卸载现有 NVIDIA 驱动:sudo apt purge nvidia-*
    • 安装新版驱动:sudo ubuntu-drivers autoinstall
    • 重启。

2. GRUB 引导加载器损坏

  • 现象:升级后无法启动,显示 GRUB> 提示符。
  • 解决:
    • 使用 Live USB 启动。
    • 挂载原系统分区并 chroot 进去。
    • 重新安装 GRUB:
      sudo mount /dev/sdXn /mnt
      sudo mount /dev/sdXm /mnt/boot/efi  # 如果有 EFI 分区
      sudo chroot /mnt
      grub-install /dev/sdX
      update-grub
      exit
      sudo umount /mnt/boot/efi
      sudo umount /mnt
      reboot

3. 第三方应用兼容性

  • Snap 包:Ubuntu 22.04/24.04 更依赖 Snap。某些旧版 Snap 应用可能需要更新。
  • Docker:确保 Docker 引擎与新内核兼容。建议使用官方脚本安装最新版 Docker。
  • VMware/VirtualBox:这些虚拟化软件可能在新内核下模块失效,需等待官方发布新版本或自行编译模块。

4. 网络配置变化

  • 22.04 开始默认使用 netplan 管理网络,24.04 延续此设置。
  • 如果你曾手动修改过 /etc/network/interfaces,可能需要转换为 netplan YAML 格式,否则可能导致网络不通。

五、升级后的必要操作

  1. 重启系统:确保所有服务以新内核和新库运行。
  2. 检查日志:
    journalctl -p err -b 0  # 查看本次启动的错误日志
    cat /var/log/dist-upgrade/apt.log  # 查看升级过程中的错误
  3. 更新软件源:
    sudo apt update && sudo apt full-upgrade
  4. 重新安装缺失的软件:对比之前的 installed_packages.txt,重新安装被标记为“保留”或“删除”的关键软件。
  5. 测试关键功能:
    • 网络连接
    • 打印机/扫描仪
    • 数据库服务(MySQL/PostgreSQL)
    • Web 服务器(Apache/Nginx)
    • 开发工具链(gcc, python, node.js 等)

六、总结建议

用户类型 推荐策略
普通桌面用户 使用图形界面升级到 22.04,再升到 24.04。提前备份 /home。
开发者/技术用户 使用命令行 do-release-upgrade,逐步升级。关注内核和编译器版本变化。
服务器/生产环境 强烈建议全新安装。停机窗口内完成数据迁移,避免升级带来的不可预测风险。
老旧硬件 考虑升级到 Lubuntu 或 Xubuntu 22.04/24.04,而非标准 Ubuntu,以提升性能。

最后提醒:每次升级都是一次“赌注”。务必在测试环境中先验证流程,或在非关键机器上先行尝试。

未经允许不得转载:轻量云Cloud » 从Ubuntu 20.04升级到22.04或24.04有哪些注意事项?