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

相关推荐
lysine_1 小时前
实现ubuntu两个网口桥接
linux·服务器·网络·arm开发·ubuntu
翼龙云_cloud1 小时前
阿里云渠道商:弹性伸缩如何三步搭建跨可用区大模型服务?
服务器·阿里云·云计算
waves浪游2 小时前
Ext系列文件系统
linux·服务器·开发语言·c++·numpy
加油勇士2 小时前
服务器调优
运维·服务器
suxuyu012 小时前
ubuntu通过windows主机访问网络
网络·windows·ubuntu
独自归家的兔2 小时前
CentOS 8 系统下的包依赖冲突问题
linux·运维·centos
王大傻09282 小时前
kali-linux-2025.4 鼠标不显示的问题 --- 已解决
linux·服务器·网络安全
天上飞的粉红小猪2 小时前
应用层协议HTTP
网络·网络协议·http
枫叶丹42 小时前
【Qt开发】Qt系统(十)-> Qt HTTP Client
c语言·开发语言·网络·c++·qt·http