Linux 命令速查
系统管理 man update-grub

update-grub

重新生成 GRUB 启动菜单配置

返回

补充说明

update-grub 是 Debian/Ubuntu 提供的包装脚本,内部调用 grub-mkconfig -o /boot/grub/grub.cfg,根据 /etc/default/grub、/etc/grub.d/ 下的脚本和已安装内核,重新生成 GRUB 的启动菜单。

修改内核启动参数(GRUB_CMDLINE_LINUX_DEFAULT)、默认启动项、超时时间或主题后,都必须执行它才会写入 grub.cfg。直接编辑 /boot/grub/grub.cfg 是错误做法,因为下次生成时会被覆盖。

执行需要 root 权限。它会调用 os-prober 探测其他操作系统,若不需要双系统菜单,可在 /etc/default/grub 中设置 GRUB_DISABLE_OS_PROBER=true 加快速度。RHEL 系的等价命令是 grub2-mkconfig -o /boot/grub2/grub.cfg。

语法

update-grub [选项]

选项

  • -o 文件:把配置写到指定文件而不是默认路径
  • -h, --help:显示帮助

实例

# 修改 /etc/default/grub 后重新生成菜单
sudo update-grub

# 先修改内核启动参数
sudo sed -i 's/^GRUB_CMDLINE_LINUX_DEFAULT=.*/GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"/' /etc/default/grub
sudo update-grub

# 查看生成结果
grep -E 'menuentry|linux ' /boot/grub/grub.cfg

# 把配置输出到自定义文件
sudo update-grub -o /tmp/grub.cfg

参考链接