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

Ubuntu 23.04因Grub问题无法通过do-release-upgrade升级至23.10的解决办法咨询

Ubuntu 23.04因Grub问题无法通过do-release-upgrade升级至23.10的解决办法咨询

我完全理解你现在的困扰——Ubuntu 23.04已经过了官方支持周期,想升级到23.10却被Grub的bug卡了壳,关键是这个bug虽然在新版本里修复了,但没回传到23.04,连能升级Grub的PPA都找不到,确实让人一筹莫展。下面给你几个可行的思路,你可以根据实际情况尝试:

思路一:手动从23.10源获取并安装修复后的Grub包

这个方法的核心是直接获取23.10里修复好的Grub相关包,先在23.04系统上安装,再执行升级。步骤如下:

  1. 先备份当前的Grub配置和相关文件,避免出问题:
    sudo cp -r /etc/grub.d /etc/grub.d.bak
    sudo cp /etc/default/grub /etc/default/grub.bak
    
  2. 临时添加23.10(Mantic Minotaur)的源到系统:
    创建一个临时源文件:
    sudo nano /etc/apt/sources.list.d/mantic-temp.list
    
    写入以下内容:
    deb http://archive.ubuntu.com/ubuntu/ mantic main restricted universe multiverse
    deb http://archive.ubuntu.com/ubuntu/ mantic-updates main restricted universe multiverse
    
  3. 安装修复后的Grub包:
    先更新源缓存(注意只更新临时源的,避免干扰其他包),然后安装Grub相关包:
    sudo apt update -o Dir::Etc::SourceList=/etc/apt/sources.list.d/mantic-temp.list
    sudo apt install grub-efi-amd64 grub-efi-amd64-bin grub-common grub2-common
    
    (如果是BIOS启动的系统,把grub-efi-amd64换成grub-pc)
  4. 安装完成后,移除临时源并更新本地缓存:
    sudo rm /etc/apt/sources.list.d/mantic-temp.list
    sudo apt update
    
  5. 最后重新运行升级命令:
    sudo do-release-upgrade
    

思路二:绕过Grub检查强制执行升级

这个方法有一定风险,一定要先备份好所有重要数据,可能会导致升级后启动问题。你可以尝试两种方式:

  • 先尝试用非交互模式启动升级:
    sudo do-release-upgrade -f DistUpgradeViewNonInteractive
    
  • 如果上面的命令还是触发检查,你可以手动编辑升级的检查脚本。找到DistUpgradeGrubCheck.py文件(通常在/usr/lib/python3/dist-packages/DistUpgrade/目录下),打开后找到检测Grub版本的代码段,临时注释掉阻止升级的逻辑,保存后再运行升级命令。升级完成后记得恢复原文件。

思路三:使用23.10安装介质进行升级安装

如果上面的方法都不行,你可以制作一个Ubuntu 23.10的U盘安装介质,用它启动系统,选择“升级Ubuntu”选项(不要选全新安装)。这种方式会直接从安装介质读取最新的Grub包,可能绕过原系统的Grub版本限制,完成升级。操作前同样务必备份所有重要数据。

不管选择哪种方法,都要再三确认重要数据已经备份——毕竟过了支持期的系统升级本身就存在不确定性,加上Grub的问题,谨慎一点总没错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 07:38:11