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

相关推荐
小草cys12 小时前
在 openEuler 上安装 DDE 图形桌面环境(适用于华为鲲鹏服务器/PC)
运维·服务器
wenzhangli719 小时前
OoderAgent SDK(0.6.6) UDP通讯与协议测试深度解析
网络·网络协议·udp
天才奇男子20 小时前
HAProxy高级功能全解析
linux·运维·服务器·微服务·云原生
安科士andxe20 小时前
60km 远距离通信新选择:AndXe SFP-155M 单模单纤光模块深度测评
网络·信息与通信
学嵌入式的小杨同学20 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
酥暮沐20 小时前
iscsi部署网络存储
linux·网络·存储·iscsi
darkb1rd21 小时前
四、PHP文件包含漏洞深度解析
网络·安全·php
❀͜͡傀儡师21 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
Dying.Light21 小时前
Linux部署问题
linux·运维·服务器
S190121 小时前
Linux的常用指令
linux·运维·服务器