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

Ubuntu 20.0系统grub.cfg被旧版本Ubuntu覆盖后的修复方案咨询

Ubuntu 20.0系统grub.cfg被旧版本Ubuntu覆盖后的修复方案咨询

嗨,别担心,你的思路大方向是对的,不过有几个细节需要调整,我来帮你理清楚具体步骤和注意事项:

  • 第一步:进入救援模式并挂载根文件系统
    用Ubuntu救援CD/USB启动系统,选择进入救援模式。按照提示找到你的Ubuntu 20.0根分区(一般是类似/dev/sda1的设备),将它挂载到指定目录(通常是/mnt)。如果你的系统有单独的/boot分区,记得也要将它挂载到/mnt/boot下,确保后续命令能访问到内核文件。

  • 第二步:切换到根系统环境
    挂载完成后,执行以下命令切换到你的系统根环境,这样后续的GRUB命令才能正确识别系统配置:

    chroot /mnt
    
  • 第三步:重新生成grub.cfg
    你提到的grub-update其实是笔误,正确的命令是update-grub——它本质上就是封装了grub-mkconfig -o /boot/grub/grub.cfg,所以你只需要运行其中一个即可。推荐用update-grub更简便:

    update-grub
    

    这个命令会自动扫描/boot目录下的vmlinuz*和initrd*文件,生成包含这些内核启动项的新grub.cfg。

  • 第四步:判断是否需要执行grub-install
    这取决于你的GRUB引导扇区是否被破坏:

    • 如果只是grub.cfg被覆盖,但系统还能进入GRUB菜单(只是菜单里的启动项不对),那只需要更新grub.cfg就足够了,不用跑grub-install。
    • 如果系统现在完全无法启动(比如提示“grub rescue>”或者找不到引导介质),或者你不确定引导扇区的状态,建议补充执行grub-install来修复引导扇区。执行时要指定整个磁盘设备(不是分区),比如:
      grub-install /dev/sda
      
      (这里的/dev/sda是你的系统磁盘,根据实际情况替换,比如/dev/nvme0n1对应NVMe硬盘)

完成以上步骤后,先执行exit退出chroot环境,然后重启系统,应该就能正常识别并启动Ubuntu 20.0的内核了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 12:19:51