【Linux】第二十三章 控制启动过程

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

(1)计算机通电。系统固件 (UEFI 或 BIOS) 开机自检 (POST),并初始化部分硬件,然后,固件会寻找启动设备(如硬盘、USB、网络等),并将控制权交给引导加载程序。

(2)一旦固件完成硬件检查,它会加载 GRUB2(Grand Unified Bootloader) 引导加载程序。GRUB2 显示引导菜单,用户可以选择启动内核或进入恢复模式。默认情况下,GRUB2 会从硬盘的引导分区中加载操作系统的内核(vmlinuz 文件)和初始内存盘(initramfs 文件)。

(3)GRUB2 启动后,加载并执行内核镜像(通常是 /boot/vmlinuz)。内核负责初始化硬件设备、挂载根文件系统(/),并启动操作系统的基本服务。

(4)在内核启动过程中,initramfs(初始内存文件系统)被加载到内存中。initramfs 是一个临时的根文件系统,通常包含用于挂载根文件系统所需的驱动程序和脚本。initramfs 会执行一些系统初始化任务,如检查磁盘、加载必要的内核模块、设置网络等。一旦initramfs完成其任务,他将卸载自身并挂载真正的根文件系统。

(5)内核完成初始化后,它会启动用户空间的第一个进程,通常是 systemd。它是所有进程的父进程,负责启动其他系统服务和进程(如网络、时间同步、磁盘挂载等)。systemd 会读取 /etc/systemd/system/++default.target 来决定系统的启动级别++,并启动相应服务。

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

系统重启:systemctl reboot 或 reboot。

系统关机:systemctl poweroff 或 poweroff。

3. Systemd target是什么?

systemd 可以管理所有的系统资源,Unit 是 systemd 管理系统资源的基本单位,systemd 通过单元文件控制 Unit 的启动。

target 就是一种单元文件,target 单元文件用于定义和描述不同的系统目标或状态,这些目标通常表示系统在不同运行级别或状态下应该启动的一组服务单元。

在运行的系统中,可使用 systemctl isolate 命令切换到其他 target。

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

  • (1)重启系统。
  • (2) 按任意键(Enter 除外)中断 boot loader 倒计时。
  • (3)将光标移至要启动的内核条目。
  • (4)按 e 编辑选定的条目。
  • (5)将光标移到内核命令行(以 linux 开头的行)。
  • (6)将 rd.break 附加到行末, 利用该选项,系统从 initramfs 向实际系统移交控制权前,系统将会中断。
  • (7)按 Ctrl+x 进行启动。
  • (8)以读/写形式重新挂载 /sysroot :mount -o remount,rw /sysroot。
  • (9)进入 /sysroot 中的 chroot 存放位置:chroot /sysroot。
  • (10)修改root密码:passwd root
  • (11)由于 passwd 命令重新创建了不带 SELinux 上下文的 /etc/shadow 文件,所以要确保所以文件重新获得标记:touch /.autorelabel。
  • (12)输入 exit 两次,第一次退出chroot,第二次退出 initramfs debug shell。

此时,系统将继续启动,执行完整的 SELinux relabel ,然后再次重新启动。

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

系统日志默认保存在 /run/log/journal 目录中,系统重启后将被删除。

可在 /etc/systemd/journald.conf 中将 Storage 参数设置为 persistent ,可以持久化系统日志。

相关推荐
运维小杨38 分钟前
Docker的安装,服务器与客户端之间的通信
服务器·docker·容器
Swaggy T41 分钟前
自动驾驶控制算法——MPC控制算法
linux·人工智能·自动驾驶
希赛网2 小时前
希赛《华为 HCIA-Datacom 》核心考点之 NAT 技术解析
运维·服务器·网络·计算机网络·智能路由器·华为认证
机器视觉知识推荐、就业指导2 小时前
手动开发一个TCP服务器调试工具(二):无界面 TCP 通信服最小实现
服务器·网络协议·tcp/ip
胖大和尚5 小时前
ssh 公钥连接服务器失败,排查方向
运维·服务器·ssh
黄沐阳6 小时前
AP配置(leaderAP组网模式)
运维·网络·智能路由器
可变羽翼核心8 小时前
Steam饥荒联机版多人服务器搭建全解析 -- 阿里云Linux系统构建云服务器
linux·运维·服务器
我科绝伦(Huanhuan Zhou)9 小时前
DM8日常运维命令总结(四)
运维
是垚不是土9 小时前
JumpServer 堡垒机全流程搭建指南及常见问题解决方案
运维·安全·网络安全·github·系统安全·创业创新
yangrenrui10 小时前
GitLab:一站式 DevOps 平台的全方位解析
运维·gitlab·devops