Linux进阶篇04:GRUB2 深度配置与内核参数 实验环境VirtualBox 虚拟机Rocky Linux 9Legacy BIOS (非 UEFI)。前置知识已完成Rocky 9 启动流程学习理解 GRUB2 是启动流程的第二阶段。核心目标掌握 /etc/default/grub 配置文件的修改逻辑学会使用 grubby 调整内核参数重点net.ifnames0并熟练掌握 Rescue救援模式的实战排障。目录一、前言二、GRUB2 配置逻辑图解三、核心配置详解/etc/default/grub四、禁用可预测网卡名五、GRUB 救援模式Rescue / Emergency1.场景 A修改 root 密码rd.break2.场景 B文件系统损坏Emergency Mode六、Rocky 9 专属grubby 工具的使用七、小结一、前言在上一份笔记中我们知道了 GRUB2 是系统启动的“守门员”。但在实际运维中我们经常需要修改 GRUB 的行为改网卡名Rocky 9 默认网卡名叫 ens33、enp0s3很难记我们想改成传统的 eth0。进单用户忘记了 root 密码或者文件系统损坏需要进入单用户模式修东西。调内核调整内存、CPU 或安全相关的内核参数。这一章我们不背命令而是搞懂 GRUB 配置的生成逻辑为什么改完 /etc/default/grub 后必须执行 grub2-mkconfig为什么推荐用 grubby 而不是直接改 /boot/grub2/grub.cfg二、GRUB2 配置逻辑图解在动手改文件之前必须先看懂这张图这是 Rocky 9 的 GRUB 管理机制重要原则/boot/grub2/grub.cfg 是由工具生成的每次执行 grub2-mkconfig 都会覆盖它。因此所有手动修改都必须写在 /etc/default/grub 里。三、核心配置详解/etc/default/grub打开配置文件sudovim/etc/default/grub以下是 Rocky 9 中你必须掌握的几个核心变量1. GRUB_TIMEOUT5 含义启动菜单等待时间秒。 踩坑点VirtualBox 默认有时是 0导致你来不及按 e 进入编辑模式。建议改成 5。 2. GRUB_DEFAULTsaved 含义设定默认启动哪个内核。 配合命令grub2-set-default 或 grubby --set-default。 作用当你升级了新内核但新内核坏了可以用这个指定回旧内核启动。 3. GRUB_CMDLINE_LINUX... 含义这是最重要的变量。它定义了传递给内核的参数。 内容包含 rootUUID...根分区位置、crashkernelautokdump等。 修改原则不要删除原有内容在引号内追加参数。四、禁用可预测网卡名痛点Rocky 9 默认使用 systemd 的命名规则如 enp0s3但在写脚本时不如 eth0 方便。修改配置文件sudovim/etc/default/grub找到 GRUB_CMDLINE_LINUX在末尾追加 net.ifnames0 biosdevname0。 GRUB_CMDLINE_LINUX... rhgb quiet net.ifnames0 biosdevname0 #改成这样就行了生成新的 GRUB 配置⚠️ 关键一步不改这一步重启无效。sudogrub2-mkconfig-o/boot/grub2/grub.cfg重启验证bash reboot ip addr # 此时应该看到网卡名为 eth0原理net.ifnames0 告诉内核不要使用 systemd 的预测命名规则回退到传统的 ethX 命名。五、GRUB 救援模式Rescue / Emergency当系统起不来时比如 /etc/fstab 写错我们需要进入救援模式。1.场景 A修改 root 密码rd.break重启虚拟机在 GRUB 菜单界面等待 5 秒那个界面按 e。找到以 linux16 或 linux 开头的那一行在行末追加rd.break按 CtrlX 启动。此时系统会停在一个 switch_root:/# 的 shell。注意此时根目录是只读的且是临时的。重新挂载根目录为可读写mount-oremount, rw /sysroot切到真正的系统根目录chroot/sysroot修改密码passwdrootSELinux 特殊处理Rocky 9 必做 由于修改了 /etc/shadowSELinux 会阻止启动必须打标签 bash touch /.autorelabel 退出并重启 bash exit exit 系统会自动重启2.场景 B文件系统损坏Emergency Mode如果 /etc/fstab 写错了挂载点系统会直接卡在 Welcome to emergency mode。现象屏幕显示 You are in emergency mode。journalctl-xb# 查看日志找红色报错vim/etc/fstab# 修正错误的 UUID 或挂载点reboot六、Rocky 9 专属grubby 工具的使用Red Hat 系Rocky推荐使用 grubby 来修改内核参数因为它比直接改文件更安全且能感知到所有已安装的内核。查看当前内核参数grubby--infoALL|grepargs给当前启动内核追加参数sudogrubby --update-kernelALL--argsnet.ifnames0# 然后重启reboot删除参数sudogrubby --update-kernelALL --remove-argsnet.ifnames0设置默认内核# 查看所有内核grubby--infoALL# 设置默认sudogrubby --set-default/boot/vmlinuz-5.14.0-xxx.el9.x86_64七、排障速查表GRUB 篇七、小结配置分离永远只改 /etc/default/grub用 grub2-mkconfig 生成最终配置。参数传递GRUB_CMDLINE_LINUX 是内核参数的集合地net.ifnames0 是改变网卡名的关键。救援核心rd.break 是改密码的钥匙/.autorelabel 是 SELinux 的保命符。工具选择日常运维用 grubby底层修复用 grub2-install。

相关新闻

最新新闻

数据表征到数据流编排的存算协同优化:从模型压缩到推理加速

数据表征到数据流编排的存算协同优化:从模型压缩到推理加速

本文整理自 AICon 上海2026《李皓民 - 数据表征到数据流编排的存算协同优化》,通过AI音视频转录总结工具 Ai好记 进行视频转文字整理,以下为精炼整理后的内容。大模型推理的三大矛盾:存不下、算不快、用不满 AI 模型的计算需求以每年约 4.7 倍…

2026/7/24 2:01:29
TVP5147M1视频解码芯片实战:寄存器配置、VBI数据与中断处理详解

TVP5147M1视频解码芯片实战:寄存器配置、VBI数据与中断处理详解

1. TVP5147M1:从芯片手册到稳定视频流的实战解码在嵌入式视频处理领域,将模拟世界的连续信号驯服为数字世界的规整数据流,从来都不是一件简单的事。十年前,当我第一次接手一个基于TVP5147M1的视频采集卡项目时,面对那本…

2026/7/24 2:01:29
AI重构SaaS价值:从功能堆砌到决策智能

AI重构SaaS价值:从功能堆砌到决策智能

1. AI与SaaS的博弈本质当AI技术开始渗透SaaS领域时,表面看是新兴技术对传统软件的冲击,实则是价值回归的自然过程。我亲历过三个SaaS产品的完整生命周期,发现传统软件长期存在价值错位——过度包装基础功能而忽视真正的核心竞争力。以CRM系统…

2026/7/24 2:01:29
Unity内嵌网页视频播放:基于3D WebView的Canvas UI集成方案

Unity内嵌网页视频播放:基于3D WebView的Canvas UI集成方案

1. 项目概述:为什么要在Unity里内嵌网页视频?作为一名在游戏和交互应用开发一线摸爬滚打了十多年的老手,我见过太多需要将Web内容“搬进”3D世界的需求。无论是游戏内的公告板、新闻终端、视频播放器,还是企业级应用的3D数据看板&…

2026/7/24 2:01:29
TVP5151视频解码芯片硬件设计与I2C配置全解析

TVP5151视频解码芯片硬件设计与I2C配置全解析

1. 项目概述与核心价值在嵌入式视觉和多媒体处理领域,将模拟摄像机、录像机输出的信号“翻译”成数字世界能理解的“语言”,是项目落地的第一道门槛。这个关键的“翻译官”就是视频解码芯片。我接触过不少这类芯片,从早期的SAA7113到后来的TW…

2026/7/24 2:01:29
基于NLP的智能论文降重系统设计与实践

基于NLP的智能论文降重系统设计与实践

1. 项目背景与需求解析2026届毕业生正面临一个严峻的学术挑战——如何在保证论文质量的前提下有效降低重复率。随着高校查重系统的不断升级和学术规范的日益严格,传统的降重方法已经难以满足需求。作为一名经历过论文查重"洗礼"的过来人,我深刻…

2026/7/24 1:56:29

月新闻