需修改grub引导菜单时,先编辑/etc/default/grub配置默认项、超时等参数并备份,再运行update-grub或grub2-mkconfig更新/boot/grub/grub.cfg;临时调参可在启动时按e编辑;多系统可设grub_default为菜单名;损坏时用live usb chroot修复。

如果您需要自定义Linux系统启动时显示的GRUB引导菜单,例如修改默认启动项、调整超时时间或编辑内核启动参数,则需直接修改GRUB配置文件并更新引导设置。以下是完成此操作的具体步骤:
一、编辑GRUB主配置文件
GRUB的全局配置由/etc/default/grub文件控制,该文件定义了默认启动项、菜单超时、是否显示菜单等核心行为。修改前建议先备份原文件。
1、以root权限打开配置文件:sudo nano /etc/default/grub
2、修改默认启动项索引(从0开始计数):GRUB_DEFAULT=0(设为0表示第一个菜单项为默认)
3、设置菜单显示超时时间(秒):GRUB_TIMEOUT=5(设为0则不显示菜单,直接启动默认项;设为-1则无限等待用户选择)
4、启用图形菜单(如使用GRUB图形主题):GRUB_TERMINAL_OUTPUT="gfxterm"
5、保存并退出编辑器(nano中按Ctrl+O回车确认保存,Ctrl+X退出)。
二、更新GRUB配置生成新引导镜像
编辑完/etc/default/grub后,必须运行更新命令,使更改写入/boot/grub/grub.cfg。该文件是自动生成的,不可手动编辑。
1、在基于Debian/Ubuntu的系统上执行:sudo update-grub
2、在基于RHEL/CentOS/Fedora的系统上执行:sudo grub2-mkconfig -o /boot/grub2/grub.cfg
3、确认命令输出中包含“Found linux image”等成功提示信息。
三、临时修改单次启动参数
若仅需对某一次启动调整内核参数(如禁用nouveau驱动、启用救援模式),可在GRUB菜单界面中断默认启动流程,进入编辑模式。
1、启动时在GRUB菜单出现时,按Shift键(BIOS模式)或Esc键(UEFI模式)唤出菜单
2、使用方向键高亮目标启动项,按e键进入编辑模式
3、定位到以linux开头的行,在行末添加所需参数,例如:rd.driver.blacklist=nouveau nomodeset
4、按Ctrl+X 或 F10以修改后的参数启动系统。
四、设置GRUB默认启动特定操作系统(多系统环境)
当系统中安装多个操作系统(如Windows与Linux共存)时,可通过命名方式指定默认启动项,避免因菜单顺序变动导致误选。
1、列出当前所有可用菜单项名称:grep "menuentry " /boot/grub/grub.cfg | cut -d "'" -f2
2、在/etc/default/grub中将GRUB_DEFAULT设为对应名称,例如:GRUB_DEFAULT="Windows Boot Manager"
3、保存文件后重新运行对应发行版的更新命令(见第二部分)。
五、修复GRUB引导菜单丢失或损坏
若系统升级或磁盘操作后GRUB无法显示菜单或报错“error: unknown filesystem”,说明引导配置已损坏或未正确安装到MBR/ESP分区。
1、使用Live USB启动系统,挂载原根分区:sudo mount /dev/sdXY /mnt(X为盘符,Y为分区号)
2、挂载必要虚拟文件系统:sudo mount --bind /dev /mnt/dev && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys
3、切换到原系统环境:sudo chroot /mnt
4、重新安装GRUB到磁盘(BIOS模式):grub-install /dev/sdX(注意此处不带分区号)
5、重新生成配置文件:update-grub 或 grub2-mkconfig -o /boot/grub2/grub.cfg








