ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RH134问答10:控制启动过程

RH134问答10:控制启动过程 1. 请简要说明 RHEL9的启动过程。(1) 计算机硬件通电系统固件BIOS 或 UEFI执行开机自检POST并初始化部分硬件。(2) 系统固件根据启动顺序搜索可启动设备如硬盘、SSD。(3) 系统固件从可启动设备的第一个扇区MBR 或 ESP 分区读取 Boot Loader然后将控制权交给 Boot Loader。在 RHEL 9 中Boot Loader 是GRUB 2。(4) GRUB 2 基于 /boot/grub2/grub.cfg 加载配置并显示启动菜单用户可选择要启动的内核版本。(5) 用户选择内核或超时到期后GRUB 2 从磁盘中加载选定的 内核vmlinuz 和 initramfs初始内存文件系统 到内存中。(6) GRUB 2 将控制权移交给内核同时传递内核命令行参数。(7) 内核开始初始化解压并执行 initramfs 中的/init 程序该程序最终会启动 systemd。initramfs 中包含驱动所有必要硬件磁盘、文件系统、LVM、VDO 等的模块。(8) initramfs 中的 systemd 进程PID 1执行 initrd.target 及其所有依赖的单元完成早期用户空间初始化如挂载真实根文件系统所需的设备。(9) 内核将根文件系统从 initramfs 切换到磁盘上的 /sysroot 通过 switch_root 系统调用。随后磁盘中的 /usr/lib/systemd/systemd 重新执行成为最终的系统 PID 1。(10) systemd 查找默认 target通常为 graphical.target 或 multi-user.target 并按依赖顺序启动 /etc/systemd/system、/usr/lib/systemd/system 中的所有相关单元最终呈现登录提示。2. 系统重启和关机的命令分别是什么?系统重启命令systemctl reboot这个命令RHEL7、8、9版本通用。传统的系统重启命令是init 6。系统关机命令systemctl poweroff,传统的系统关机命令是init 0。3. Systemd target 是什么Systemd target 是一组systemd 单元unit的集合用于表示系统的一个特定状态或运行模式。每个 target 对应一个.target.文件通过依赖关系关联其他单元如服务、挂载点、套接字等。系统启动的最终目标是 default.target。4. 重置丢失的root密码需要哪些步骤(1)重启系统在 GRUB 2 启动菜单页面选中要启动的内核行按e进入编辑模式。(2)找到以Linux开头的行在这一行的末尾添加rd.break consoletty0,然后按ctrlX启动进入initramfs的紧急shell。(3)把磁盘上的实际跟文件系统当前是只读模式重新挂载为读写模式使用命令mount -o remount,rw /sysroot(4) 使用chroot /sysroot命令切换到实际根文件系统环境。(5)使用 passwd root 命令设置新的root密码。(6)由于前面的操作更改了 /etc/shadow 文件需要确保系统在重启时重新标记SELinux文件上下文使用 touch /.autolabel 命令。这是关键步骤。(7)退出chroot环境并重启执行两条命令exit和reboot。5. 如何让系统日志在重启后持久保留(1)创建持久化日志目录使用命令 mkdir -p /var/log/journal(2)修改 journald 配置文件 /etc/systemd/journald.conf 设置存储模式为 persistent(3)重启 systemd-journald 服务使用命令 systemctl restart systemd-journald
返回列表