发布时间:2026/7/23 23:33:08
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。

相关新闻

2026/7/23 23:33:08

RAR 压缩包密码怎么取消?3种方法应对

日常办公中,很多人会给 RAR 压缩包设置解压密码,用来保护重要文件。但后续不再需要保护文件了,每次打开都要重复输入密码,就会很麻烦。我们日常使用的解压缩软件,并没有“一键取消密码”的选项,但是&#x…

2026/7/23 23:33:08

基于YOLOv10的固体废物智能识别系统开发实践

1. 项目概述:固体废物智能识别系统这个基于YOLOv10的固体废物识别检测系统,是我最近完成的一个环保科技项目。它能够自动识别和分类两种常见可回收物——塑料瓶(Bottle)和金属罐(Cans),准确率达…

2026/7/24 0:58:14

在天津挑选专业标书制作机构,这些实用判断技巧很值得大家参考

对于天津不少工程服务商、政企供应商、中小微企业经营者来说,投标过程里最可惜的事,莫过于前期攒资质、跑对接、做测算花了几个月功夫,最后因为标书制作的疏漏,要么直接被废标,要么差两三分与项目失之交臂。来自天津公…

2026/7/24 0:58:14

LangChain Runnable 完整深度解读

LangChain Runnable 完整深度解读适配:LangChain 0.1.x/ 0.2.x 新版体系,LCEL(LangChain Expression Language)的底层基石 前置认知:所有你写的 prompt | llm | parser | retriever,每一环都是 Runnable一、…

2026/7/24 0:53:14

ADIS16470AMLZ是一款工业级微型六轴传感器

型号介绍ADIS16470AMLZ 是一款工业级微型六轴 MEMS 惯性测量单元,它拥有行业突出的量程与噪声、零偏指标。陀螺仪支持 2000/s 超大角速度测量范围,适配高速旋转、剧烈机动设备;常温 25℃标准工况下运行零偏稳定性达 8/hr,角度随机…

2026/7/24 0:53:14

ADXL367BCCZ-RL7,高精度无噪声三轴传感器

型号介绍ADXL367BCCZ-RL7 是一款超低功耗三轴数字 MEMS 加速度计,该芯片支持 1.1V 至 3.6V 宽电压输入,主供电引脚 Vs 与数字 IO 供电 VDDIO 共用这一电压区间,可直接匹配单颗纽扣锂电池,内部集成稳压电路,电源抑制比&…

2026/7/24 0:53:14

ADAS1021KCBZ-RL,集成脉冲 / 阻抗检测的 5 通道低电位采集前端

型号介绍ADAS1021KCBZ-RL 是一款高度集成的 5 通道模拟前端,它具备直流导联脱落检测与交流电极接触质量检测两套电路。直流检测覆盖全部 ECG 通道与 RLD 参考电极,检测激励电流、输出极性、脱落判定阈值全部可编程;交流阻抗检测用于评估电极与…

2026/7/23 12:54:51

Unity与Python本地通信:基于Flask的跨语言数据交换实战

1. 项目概述:为什么我们需要一个本地通信服务器?在游戏开发、数字孪生、仿真训练等众多领域,Unity作为强大的实时3D内容创作平台,其核心逻辑通常由C#驱动。然而,当我们需要进行复杂的数据分析、机器学习推理、科学计算…

2026/7/24 0:03:10

不同品牌斜齿行星减速机如何替换?以PX与PAG系列为例

不同品牌斜齿行星减速机如何替换?以 PX 与 PAG 系列为例 一、系列对应不等于型号直接互换 PX 与 PAG 都属于斜齿、方法兰、输出轴式精密行星减速机,结构形式和应用方向具有对应关系。 原设备使用PX系列时,可以优先从PAG系列中寻找替换型号。但…

2026/7/24 0:03:10

jdk8 把list 扁平化成String 多个以逗号分隔

在 JDK 8 中&#xff0c;将 List 扁平化为以逗号分隔的 String&#xff0c;有几种非常简洁且高效的方法。&#x1f680; 推荐方案&#xff1a;使用 Collectors.joining()这是最标准的 Java 8 写法&#xff0c;适用于 List<String>。javaimport java.util.stream.Collecto…

2026/7/24 0:03:10

java 两个 long id 怎么合并成一个long id 并且不重复

“把两个 Long ID 合并成一个唯一的 Long ID&#xff0c;且保证不重复”这个需求&#xff0c;在 Java 里直接做数学上的“完美合并”是不可能的。因为两个 Long&#xff08;各 64 位&#xff09;要合并成一个 Long&#xff08;64 位&#xff09;&#xff0c;在信息论上是有损压…

2026/7/23 23:42:43

3个高效策略:快速掌握Axure中文界面配置

3个高效策略&#xff1a;快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…