帮你快速理解、总结文档立即下载

引导管理(grubby)

最近更新时间:2026-08-24 18:27:30
我的收藏
本文介绍如何在 TencentOS Server 上使用 grub2grubby 管理内核引导项,包括查看当前引导配置、修改默认启动内核以及调整内核启动参数。
TencentOS Server 主要通过以下工具管理内核引导:
工具
适用版本
说明
grubby
TencentOS Server 3 / 4
fedora 社区工具,推荐使用
grub2-*
TencentOS Server 2
GRUB 2 原生命令

注意事项

权限要求:请确认已获取 root 权限
适用场景:多内核环境下切换默认启动内核、调整内核启动参数

使用 grubby 管理引导

TencentOS Server 3 和 4 推荐使用 grubby 进行内核引导配置
查看当前默认启动的内核:
grubby --default-kernel
返回结果如下:
/boot/vmlinuz-5.4.241-24.0017.41.3
查看系统中所有可用的内核信息:
grubby --info=ALL
返回结果如下:
index=0
kernel="/boot/vmlinuz-5.4.241-24.0017.28"
args="ro quiet elevator=noop console=ttyS0,115200 console=tty0 vconsole.keymap=us crashkernel=3G-16G:256M,16G-64G:384M,64G-128G:512M,128G-486G:768M,486G-972G:1024M,972G-:2048M vconsole.font=latarcyrheb-sun16 net.ifnames=0 biosdevname=0 intel_idle.max_cstate=1 intel_pstate=disable iommu=pt amd_iommu=on nopvspin"
root="UUID=1cdbeeff-b545-47c3-8442-9038c7ad903b"
initrd="/boot/initramfs-5.4.241-24.0017.28.img"
title="TencentOS Server (5.4.241-24.0017.28) 3.3 (Final)"
id="30e472194cb8417c88b24ec0b1915e7f-5.4.241-24.0017.28"
查看指定内核的详细信息:
grubby --info=/boot/vmlinuz-\\<版本号> #示例版本号:5.4.241-24.0017.28
查看当前默认内核的详细信息:
grubby --info=$(grubby --default-kernel)

设置默认启动内核

警告:
设置默认内核后需要重启系统才能生效。建议您先确认目标内核版本正确,避免设置错误内核版本,导致系统无法启动。
通过内核路径设置默认启动内核:
grubby --set-default /boot/vmlinuz-\\<版本号> #示例版本号:5.4.241-24.0017.28
以设置 5.4.241-24.0017.28 为默认内核为例:
grubby --set-default /boot/vmlinuz-5.4.241-24.0017.28
返回结果如下:
The default is /boot/loader/entries/30e472194cb8417c88b24ec0b1915e7f-5.4.241-24.0017.28.conf with index 0 and kernel /boot/vmlinuz-5.4.241-24.0017.28

修改内核启动参数

警告:
修改默认内核或内核参数后,需要重启系统才能生效。建议您先确认参数正确,避免设置错误参数,导致系统无法启动。
为默认内核添加启动参数:
grubby --update-kernel=$(grubby --default-kernel) --args="\\<参数>"
以添加 debug 参数为例:
grubby --update-kernel=$(grubby --default-kernel) --args="debug"
为所有内核添加启动参数:
grubby --update-kernel=ALL --args="\\<参数>"
从默认内核移除启动参数:
grubby --update-kernel=$(grubby --default-kernel) --remove-args="\\<参数>"
以移除 quiet 参数为例:
grubby --update-kernel=$(grubby --default-kernel) --remove-args="quiet"

使用 grub2 管理引导

以下命令适用于 TencentOS Server 2,在 TencentOS Server3/4 上不推荐使用。
查看当前默认启动项:
grub2-editenv list
返回结果如下:
saved_entry=TencentOS Server (5.4.119-19.0009.67.1) 2.4
查看所有可用的启动项:
awk -F\\' '$1=="menuentry " {print i++ " : " $2}' /boot/grub2/grub.cfg
返回结果如下:
0 : TencentOS Server (5.4.119-19.0009.67.1) 2.4
1 : TencentOS Server (5.4.120-19.0009.67.1) 2.4 #该版本不存在,仅作演示示例

设置默认启动项(按序号)

按序号设置默认启动项:
grub2-set-default <序号>
验证设置是否生效:
grub2-editenv list

验证

完成内核引导配置后,重启系统验证更改生效。
确认当前默认内核(重启后执行):
grubby --default-kernel
确认实际运行的内核版本:
uname -r

常见问题

设置默认内核后,重启仍然进入旧内核

可能原因:使用了 grub2-set-default 但 GRUB 配置文件未更新。
处理方案:重新配置 grub
重新生成 GRUB 配置:
grub2-mkconfig -o /boot/grub2/grub.cfg
验证默认内核:
grubby --default-kernel

需要一次性用指定内核启动(不修改默认),如何操作?

使用 grub2-reboot 指定下次启动的内核:
grub2-reboot \\<内核标题或序号>
查看内核序号:
grubby --info=ALL | grep index

意外添加了错误的内核参数导致系统无法启动,如何恢复?

1. 重启进入 GRUB 引导菜单(按 EscShift 键)。
2. 选择要启动的内核,按 e 进入编辑模式。
3. 找到以 linux 开头的行,手动删除错误参数。
4. Ctrl+X 启动系统。
5. 启动后使用 grubby --update-kernel 修复配置。