内核启动参数怎么改
内核启动参数由引导加载器传给内核,排障时常用的是临时的写法:在 GRUB 菜单按 e 编辑当前启动项,加参数后按组合键启动,本次有效重启即失效。要长期保留则修改 /etc/default/grub 里的内核命令行变量,再重新生成引导配置。
基本信息
| 临时修改 | GRUB 菜单按 e 编辑,改完直接启动 |
|---|---|
| 永久修改 | /etc/default/grub 后重新生成引导配置 |
| 生成命令 | grub2-mkconfig -o /boot/grub2/grub.cfg |
| 常用参数 | nomodeset、console=ttyS0,115200、quiet |
| 当前参数 | /proc/cmdline |
典型使用场景
- 显卡驱动异常导致无法进图形界面时临时加参数启动
- 配置串口控制台输出,便于带外管理
- 调整内存管理或网络相关参数做性能验证
- 救援模式下临时关闭某些特性排查问题
- 统一批量部署时把参数写进模板
永久追加参数
永久追加参数
cat /proc/cmdline # 查看当前生效的启动参数
cp /etc/default/grub /etc/default/grub.bak # 修改前先备份
# 编辑 GRUB_CMDLINE_LINUX 变量,在引号内追加参数,例如 nomodeset
grub2-mkconfig -o /boot/grub2/grub.cfg # 重新生成引导配置
cat /boot/grub2/grub.cfg | grep -m1 vmlinuz # 核对参数已写入
reboot # 生效需重启
cat /proc/cmdline # 重启后确认参数存在常用参数
| 参数 | 作用 | 使用场合 |
|---|---|---|
| nomodeset | 不使用内核模式设置 | 显卡驱动异常时临时启动 |
| console=ttyS0,115200 | 启用串口控制台 | 带外管理与无显卡环境 |
| quiet | 减少启动时的内核输出 | 常规生产环境 |
| single 或 rescue | 进入单用户或救援模式 | 忘记口令或系统修复 |
| rhgb | 图形化启动显示 | 桌面环境使用 |
操作注意事项
- 改前备份 /etc/default/grub
- 参数拼写要与内核文档一致
- 区分默认参数与固定参数两个变量
- 生成引导配置后核对文件内容
- 保留一套可启动的旧配置作为回退
在 GRUB 菜单里按 e 做的修改只在本次启动生效,重启即失效;永久修改前一定要备份 /etc/default/grub,参数写错可能导致内核无法挂载根分区。