You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04 LTS升级至24.04 LTS失败后的系统修复求助

Ubuntu 22.04 LTS升级至24.04 LTS失败后的系统修复求助

嘿,升级遇到这种糟心的情况真的太闹心了!我完全懂你想保住现有安装、不想丢数据的心情,咱们一步步来尝试修复:

先理清楚目前的状况:

  • 你用sudo do-release-upgrade -d从22.04升级到24.04,中途因为一堆包(比如libglib-perl:amd64、gnome-control-center这些)安装失败,升级进程中断了
  • 重启后一堆系统服务启动失败,包括Thunderbolt的bolt服务,还有ioremap硬件地址映射错误,最后系统直接卡死只能硬关机
  • 你想通过USB安装器覆盖系统文件,同时保留自己的文件和配置

优先尝试的修复步骤

1. 先试试从恢复模式修复损坏的包

在直接覆盖系统文件之前,先试试用恢复模式修复损坏的包,这个操作最简单,说不定能快速解决问题:

  • 开机时按住Shift键(UEFI系统可能按Esc)调出GRUB菜单
  • 选择「Ubuntu的高级选项」,然后选带「(recovery mode)」的最新内核
  • 在恢复菜单里选「dpkg - 修复损坏的包」
  • 跟着提示走,让dpkg自动修复损坏或未完成安装的包,遇到依赖问题选「是」让它自动解决
  • 完成后尝试正常启动,如果能进系统,之后可以用sudo do-release-upgrade(这次别加-d了,24.04已经是正式版)完成升级

2. 用USB安装器执行「修复式安装」(保留数据)

如果恢复模式搞不定,就用24.04的USB安装器来做「修复式安装」——这个操作会覆盖系统核心文件,但你的个人文件、配置都会保留:

  • 先准备好一个可引导的Ubuntu 24.04 LTS USB安装盘(如果还没有,找另一台正常的电脑做一个)
  • 插好USB,从USB启动(可能需要在BIOS/UEFI里调整启动顺序)
  • 安装器加载后,选「试用Ubuntu」进入 live 环境
  • 进入live系统后,打开终端(快捷键Ctrl+Alt+T)
  • 先找到你的系统主分区(就是装Ubuntu的那个分区),用lsblk或者sudo fdisk -l就能看到——找大小和你系统盘差不多、格式是ext4的那个分区,比如/dev/sda2
  • 把这个分区挂载到临时目录,比如:
    sudo mount /dev/sda2 /mnt  # 这里把/dev/sda2换成你找到的实际分区
    
  • 接着挂载系统必需的目录到刚才的挂载点:
    sudo mount --bind /dev /mnt/dev
    sudo mount --bind /proc /mnt/proc
    sudo mount --bind /sys /mnt/sys
    
  • 进入你的系统环境(chroot):
    sudo chroot /mnt
    
  • 现在可以重新安装核心系统包来覆盖损坏的文件了,执行:
    apt-get install --reinstall ubuntu-desktop ubuntu-minimal ubuntu-standard
    
  • 这个命令会重新下载并安装所有桌面和系统核心包,替换掉损坏或缺失的文件
  • 之后可以再运行一次系统升级,确保所有包都是最新的:
    apt update && apt dist-upgrade -y
    
  • 完成后退出chroot环境:
    exit
    
  • 卸载挂载的目录和分区:
    sudo umount /mnt/dev
    sudo umount /mnt/proc
    sudo umount /mnt/sys
    sudo umount /mnt
    
  • 重启系统,拔掉USB,看看能不能正常启动

3. 要是以上都失败,先备份数据再考虑重装

如果前面的方法都救不回来,那先把数据备份出来最稳妥:

  • 从USB进入live环境,接上一个外接硬盘
  • 挂载你的系统分区(步骤和上面一样),然后把/mnt/home/你的用户名/下面的所有文件复制到外接硬盘里
  • 备份完之后,就可以重新安装24.04 LTS,装完再把备份的文件恢复回去

关于你提到的ioremap错误

那个ioremap错误看起来是和Thunderbolt/PCIe硬件相关的,如果修复系统后还出现,可以试试临时禁用Thunderbolt支持来启动:

  • 开机时按e编辑GRUB启动项
  • 找到开头是linux的那一行,在末尾加上intel_iommu=off或者thunderbolt=off
  • 按Ctrl+X用这个参数启动,如果能正常进系统,就把这个修改永久化:编辑/etc/default/grub,把参数加到GRUB_CMDLINE_LINUX_DEFAULT里,然后运行sudo update-grub

希望这些步骤能帮你把系统救回来!要是哪个环节卡壳了,随时说细节我再给你掰扯清楚。

备注:内容来源于stack exchange,提问作者Snowcrash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:54:40