grubby 是一个用于管理 GRUB、LILO、ELILO 和 yaboot 等引导加载程序配置文件的命令行工具。它主要用于更新内核命令行参数、添加或删除内核条目、设置默认启动内核等操作。
grubby 在 RHEL(Red Hat Enterprise Linux)、Fedora、CentOS 等基于 Red Hat 的发行版中广泛使用。
1.grubby常用选项:
--info=ALL:显示所有内核条目的信息。
--update-kernel=ALL:更新所有内核的配置。
--args="参数":添加内核启动参数。
--remove-args="参数":删除内核启动参数。
--set-default=内核路径:设置默认启动内核。
--add-kernel=内核路径:添加一个新的内核条目。
--remove-kernel=内核路径:删除一个内核条目。
--default-kernel:显示默认内核路径。
--default-index:显示默认内核的索引号。
2.grubby命令示例:2.1 查看所有内核条目的信息1grubby --info=ALL
显示所有内核条目的详细信息,包括内核路径、initrd 路径和启动参数。
2.2 更新所有内核的命令行参数1grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
为所有内核添加 systemd.unified_cgroup_hierarchy=0 参数。
2.3 删除内核的命令行参数1grubby --update-kernel=ALL --remove-args="systemd.unified_cgroup_hierarchy"
从所有内核中删除 systemd.unified_cgroup_hierarchy 参数。
2.4. 设置默认启动内核1grubby --set-default=/boot/vmlinuz-5.14.0-1.el9.x86_64
将指定内核设置为默认启动项。
2.5. 添加一个新的内核条目1grubby --add-kernel=/boot/vmlinuz-new --initrd=/boot/initramfs-new.img --title="New Kernel"
添加一个新的内核条目到引导加载程序中。
2.6. 删除一个内核条目1grubby --remove-kernel=/boot/vmlinuz-old
从引导加载程序中删除指定的内核条目。
2.7. 查看默认内核1grubby --default-kernel
显示当前默认启动的内核路径。
2.8. 查看默认内核的索引1grubby --default-index
显示默认内核在引导菜单中的索引号。
2.9. 切换引导加载程序1grubby --set-loader=/boot/grub2/grub.cfg
将引导加载程序设置为 GRUB2。
3.适用场景:
系统管理员:管理多内核环境,设置默认启动内核。
开发者:调试内核启动参数。
兼容性调整:修改内核参数以支持特定硬件或软件需求。