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 查看所有内核条目的信息
- 显示所有内核条目的详细信息,包括内核路径、initrd 路径和启动参数。
2.2 更新所有内核的命令行参数
1
| grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=0"
|
- 为所有内核添加
systemd.unified_cgroup_hierarchy=0
参数。
2.3 删除内核的命令行参数
1
| grubby --update-kernel=ALL --remove-args="systemd.unified_cgroup_hierarchy"
|
- 从所有内核中删除
systemd.unified_cgroup_hierarchy
参数。
2.4. 设置默认启动内核
1
| grubby --set-default=/boot/vmlinuz-5.14.0-1.el9.x86_64
|
2.5. 添加一个新的内核条目
1
| grubby --add-kernel=/boot/vmlinuz-new --initrd=/boot/initramfs-new.img --title="New Kernel"
|
2.6. 删除一个内核条目
1
| grubby --remove-kernel=/boot/vmlinuz-old
|
2.7. 查看默认内核
2.8. 查看默认内核的索引
2.9. 切换引导加载程序
1
| grubby --set-loader=/boot/grub2/grub.cfg
|
3.适用场景:
- 系统管理员:管理多内核环境,设置默认启动内核。
- 开发者:调试内核启动参数。
- 兼容性调整:修改内核参数以支持特定硬件或软件需求。