Linux 命令速查
系统管理 man grubby

grubby

查看和修改引导加载程序配置的工具

返回

补充说明

grubby 是 RHEL/CentOS/Fedora 提供的引导配置工具,用于查看默认启动内核、增删内核条目、修改内核命令行参数。它直接操作 GRUB 配置(BIOS 下为 /boot/grub2/grub.cfg,UEFI 下为 /boot/efi/EFI/<发行版>/grub.cfg),无需手工编辑文件。

相比 grub-mkconfig,grubby 的修改更“增量”:它只改动目标内核条目,不会重建整个菜单,适合脚本化运维,例如内核升级后自动追加 audit=1、修改 crashkernel=、切换默认内核。

注意:不同版本参数略有差异,新版本(RHEL 9 起)用 --set-default 等更明确的选项,旧版本依赖 --default。修改前先 --info=ALL 备份当前状态,避免把系统引导改坏。

语法

grubby [选项]

选项

  • --info=ALL:显示所有内核条目及其参数
  • --default=路径:把指定内核设为默认(旧式写法)
  • --set-default=路径:把指定内核设为默认(新式写法)
  • --default-index=编号:按索引设置默认条目
  • --default-title=标题:按菜单标题设置默认条目
  • --add-kernel=路径:新增一个内核条目
  • --remove-kernel=路径:删除内核条目
  • --update-kernel=ALL|路径:更新指定内核条目的参数
  • --args=参数:配合 --update-kernel 追加内核参数
  • --remove-args=参数:配合 --update-kernel 删除内核参数
  • --copy-default:新增条目时复制当前默认条目的参数
  • --boot-dir=目录:指定 /boot 位置

实例

# 查看所有内核条目与启动参数
sudo grubby --info=ALL

# 查看当前默认内核
sudo grubby --default-kernel
sudo grubby --default-index

# 把指定内核设为默认
sudo grubby --set-default=/boot/vmlinuz-5.14.0-362.el9.x86_64

# 为所有内核追加参数
sudo grubby --update-kernel=ALL --args="audit=1"

# 删除某个参数
sudo grubby --update-kernel=ALL --remove-args="rhgb quiet"

# 仅为指定内核添加参数
sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args="nohz=off"

修改后可用 cat /proc/cmdline 确认当前启动参数,重启后再核对一次。Debian/Ubuntu 没有 grubby,应改用 /etc/default/grub 配合 update-grub。

参考链接