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

Grub.cfg未显示任何启动选项,求助定位真实引导程序及解决方法

找到真实的GRUB引导配置并处理你的问题

这问题我之前帮朋友排查过,大概率是你找错了配置文件的路径!咱们一步步来理清:

为什么你打开的/etc/grub/grub.cfg是空的?

首先要明确:/etc/grub/grub.cfg根本不是GRUB实际引导时用的配置文件!这个目录里的文件大多是配置模板、脚本辅助文件或者备份,真正负责引导菜单的配置在另一个路径下。

真实的GRUB配置文件在哪里?

分两种情况,但你先优先检查第一个:

  • BIOS启动(你的Win7 32位大概率是这种):实际配置文件是 /boot/grub/grub.cfg,你开机看到的那些菜单选项(Ubuntu、Windows 7 loader等)全在这里面。
  • UEFI启动(如果你的电脑是较新的UEFI模式):GRUB的引导核心文件在ESP分区(通常挂载在/boot/efi),路径是 /boot/efi/EFI/ubuntu/grub.cfg,这个文件一般会指向/boot/grub/grub.cfg,相当于一个跳转入口。

你可以打开终端,运行下面的命令验证:

cat /boot/grub/grub.cfg

不出意外的话,这里面会显示你开机看到的完整引导菜单内容。

正确修改GRUB配置的方法

记住:永远不要直接编辑grub.cfg!因为每次运行update-grub命令时,这个文件会被自动覆盖,手动改的内容会全部丢失。正确的流程是:

  1. 修改主配置文件
    打开终端,用管理员权限编辑/etc/default/grub:
sudo gedit /etc/default/grub

这里面可以调整各种GRUB参数,比如:

  • GRUB_TIMEOUT=10:就是你看到的10秒超时时间,改成你想要的数值就行
  • GRUB_DEFAULT=0:设置默认启动的选项(0是第一个菜单,1是第二个,以此类推)
  1. 重新生成配置文件
    修改并保存/etc/default/grub后,运行下面的命令让系统重新生成正确的grub.cfg:
sudo update-grub

这个命令会调用/etc/grub.d/目录下的脚本(比如10_linux负责生成Ubuntu选项,20_windows负责生成Windows选项),自动拼接出完整的引导菜单配置,同时更新MBR或ESP里的引导信息。

  1. 验证效果
    重启电脑,你就能看到修改后的GRUB菜单了。

如果还是有问题?

如果/boot/grub/grub.cfg也没有内容,那可能是GRUB的安装位置出了问题。你可以尝试重新安装GRUB到硬盘的MBR(BIOS模式):

sudo grub-install /dev/sda

(这里/dev/sda是你的硬盘设备名,不要加分区号,比如不要写成/dev/sda1)
然后再运行sudo update-grub重新生成配置。

内容的提问来源于stack exchange,提问作者Nicholas Bourbaki

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:55:16