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,重启后不再丢失,便于长期排查系统启动、服务故障等问题。

相关推荐
chlk1236 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑6 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件7 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号17 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash21 小时前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
Sinclair2 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
Rockbean3 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek