CentOS 启动列表详解
CentOS 启动流程概述

CentOS 是一个基于 Red Hat Enterprise Linux 的开源操作系统,其启动流程与 RHEL 类似,以下是 CentOS 的启动流程概述:
- 加载引导加载程序(GRUB)
- 初始化内存管理器(如 initramfs)
- 加载内核
- 初始化系统环境
- 启动系统服务
- 进入用户登录界面
启动列表详解
引导加载程序(GRUB)
引导加载程序是启动过程中的第一步,它负责从硬盘启动操作系统,在 CentOS 中,GRUB 是默认的引导加载程序。
grub.conf:GRUB 的配置文件,位于/etc/grub/目录下。menuentry:定义一个启动菜单项,如menuentry "CentOS Linux (7.5.1804)"。kernel:指定要加载的内核文件,如kernel /vmlinuz-3.10.0-957.el7.x86_64。initrd:指定初始 RAM 磁盘文件,如initrd /initramfs-3.10.0-957.el7.x86_64.img。
初始化内存管理器(initramfs)
在加载内核之后,系统会加载一个名为 initramfs 的内存管理器,它负责初始化设备文件系统、网络设备等。

initramfs:初始 RAM 磁盘文件,位于/boot/目录下。initrd:与initramfs相关联的文件,同样位于/boot/目录下。
加载内核
内核是操作系统的核心,负责管理硬件资源和执行系统调用,在 CentOS 中,内核文件通常位于 /boot/ 目录下。
vmlinuz:内核文件,如vmlinuz-3.10.0-957.el7.x86_64。System.map:内核符号表,用于调试内核。Module.symvers:内核模块符号版本信息。
初始化系统环境
在加载内核之后,系统会执行 /sbin/init 脚本,该脚本负责初始化系统环境。
/sbin/init:初始化脚本,负责启动系统服务。/etc/inittab:早期的系统初始化配置文件,已不再使用。/etc/sysconfig/init:系统初始化配置文件。
启动系统服务
在初始化系统环境后,系统会启动一系列的系统服务,如网络服务、守护进程等。

systemctl:用于管理系统服务的命令行工具。sshd:SSH 服务器,用于远程登录。syslog:系统日志服务。cron:定时任务服务。
进入用户登录界面
在启动所有系统服务后,系统会进入用户登录界面,等待用户输入用户名和密码。
FAQs
Q1:如何查看 CentOS 的启动列表? A1:可以通过查看 /boot/grub/grub.conf 文件来查看 CentOS 的启动列表。
Q2:如何修改 CentOS 的启动列表? A2:修改 /boot/grub/grub.conf 文件中的 menuentry 和 kernel 选项,然后使用 grub2-mkconfig 命令更新 GRUB 配置。
