RH134简单知识点——第10章——控制启动过程

10 控制启动过程

1.请简要说明RHEL9启动过程

答:

阶段1:固件与引导加载器

(1)电源启动 → 系统固件(UEFI/BIOS)执行POST自检和硬件初始化;

(2)固件搜索可启动设备(UEFI设置或MBR主启动记录);

(3)加载GRUB2引导加载器并移交控制权;

(4)GRUB2配置显示启动菜单供内核选择;

(5)加载内核和initramfs到内存中;

(6)控制权移交给内核;

阶段2:内核与initramfs

(1)内核初始化硬件并执行initramfs中的systemd(PID=1);

(2)initramfs中的systemd执行initrd.target所有单元;

(3)挂载根文件系统到/sysroot目录;

阶段3:系统初始化

(1)切换根文件系统从initramfs到磁盘上的真实根文件系统;

(2)systemd重新执行使用磁盘中的systemd程序;

(3)查找默认target并启动相应服务单元;

(4)系统就绪显示登录界面;

2.系统重启和关机的命令分别是什么

答:

(1)重启命令:

reboot:立即启动,等效于systemctl reboot

shutdown:立即重启(与选项"-r"连用)。

示例:

shutdown -r +10

表示十分钟后重启,并向所有用户发送通知。

(2)关机命令:

poweroff:立即关机,等效于systemctl poweroff

halt:停止系统运行 ,但不切断电源

shutdown -h now:立即关机

示例:

shutdown -h +30

表示30分钟后关机。

3.Systemd target是什么

答:

定义:

target 是 systemd 的一种概念,相当于传统 SysVinit 的运行级别(runlevel),用于表示系统的状态和服务集合。

常见 target:

graphical.target:图形界面模式(类似 runlevel 5)。

multi-user.target:多用户文本模式(类似 runlevel 3)。

rescue.target:单用户模式,用于系统维护。

default.target:系统默认启动目标,可通过 systemctl get-default 查看。

4.重置丢失的root密码需要哪些步骤

答:

阶段1:

在boot loader阶段

(1)重启系统

systemctl reboot

(2)中断boot loader倒计时

按任意键(Enter除外)中端倒计时

(3)选择要启动的内核条目(带有rescue一词的条目)

如:

(4)编写此条目

按"e"编写选定条目

如:

(4)找到命令行并修改

找到linux开头的行,在最后输入rd.break

解释:

rd=Ramdisk(内存磁盘)

这里的 rd 特指 initramfs(初始 RAM 文件系统)------ 系统启动时内核加载的临时根环境,包含启动必需的驱动、工具和初始化脚本

break=中断,暂停

表示让 initramfs 中的初始化脚本"停止执行",不再继续往下完成 "切换到真正根文件系统" 和 "启动 systemd 验证密码" 的流程。

如:

(6)应用新配置并启动

Ctrl+x

阶段2:

进入root shell并修改密码

此时系统会显示root shell,磁盘的实际根文件系统会只读挂载到****/sysroot****,需要将根文件系统更改为读写模式;

(1)重新挂载根文件系统以读写模式;

mount -o rw,remount/sysroot

如:

(2)切换到实际的根目录

通过 rd.break 进入临时 root shell 时,当前的根目录(/)是 initramfs(临时 RAM 文件系统),而 你磁盘上的实际系统根目录。

命令:

chroot /sysroot

解释:

chroot 是 "change root" 的缩写,作用是将当前进程的根目录切换到 /sysroot(即你磁盘上的实际系统根目录)。

(3)重置root密码

passwd root

如:

(4)更新SELinux上下文(避免密码文件权限问题)

touch /.autorelabel

(5)退出并重启

输入两次exit

完成root密码的重新配置,尝试登录以验证2。

5.如何让系统日志在重启后持久保留?

答:

(1)编辑配置文件

需要修改****/etc/systemd/journald.conf****,将"Journal"段中添加或修改参数:"Storage"参数设置为"persistent"

如:

vim /etc/systemd/journald.conf

修改:

(2)重启日志服务

systemctl restart systemd-journald.service

配置后,日志会持久存储在 /var/log/journal,重启后不再丢失,便于长期排查系统启动、服务故障等问题。

相关推荐
爱写代码的森16 小时前
鸿蒙三方库 | harmony-utils之ImageUtil图片保存到本地详解
服务器·华为·harmonyos·鸿蒙·huawei
REDcker17 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
ANSIOT18 小时前
安朔科技蓝牙无感开锁方案,靠近自动解锁
网络·科技·物联网
晏宁科技YaningAI19 小时前
VoIP系统的工程实现模型:从信令控制到媒体传输的完整架构解析
网络·人工智能·架构·系统架构·信息与通信
HLC++19 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室20 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
白露与泡影21 小时前
Arthas 实战指南:从方法耗时定位到 JVM 变量热修改
服务器·jvm·c#
神奇霸王龙1 天前
Claude Code屠榜:MiMo与Grok紧追Codex
服务器·网络·人工智能·gpt·ai·ai编程
Web极客码1 天前
WordPress SEO优化:提升网站排名的13个关键步骤
服务器·seo·wordpress
groundhappy1 天前
idalib安装和codex ida-mcp配置
linux·开发语言·python