CentOS7启动流程详解:从硬件到systemd的转变

需积分: 0 2 下载量 108 浏览量 更新于2024-08-04 收藏 348KB DOCX 举报
本文档主要分析了CentOS 7 的启动流程,对比CentOS 6,着重讨论了在升级过程中发生的变化。以下是详细的步骤解析: 1. **硬件启动阶段**: 这个阶段与CentOS 6相似,即通过BIOS或UEFI引导,硬件自检后进入引导程序。尽管细节未详细描述,但可以想象这是基本的硬件初始化过程。 2. **GRUB2引导阶段**: CentOS 7 引入了GRUB2作为主引导程序,取代了CentOS 6中的旧版本。GRUB2加载两个镜像(可能包括内核和引导装载程序)、MOD模块文件,然后执行grub2程序。它会解析配置文件 `/boot/grub2/grub.cfg`,根据配置加载内核并构建虚拟根文件系统。grub.cfg文件虽然复杂,但在CentOS 7中通常通过命令行工具如`grub2-mkconfig`进行配置,而不是直接修改文件。 3. **内核引导阶段**: 与CentOS 6类似,这个阶段加载驱动并切换到实际的根文件系统。不同之处在于,CentOS 7 使用了`/usr/lib/systemd/systemd`作为初始化程序,而非之前版本的机制。 4. **systemd初始化阶段(或系统初始化阶段)**: CentOS 7 引入了systemd作为核心的初始化进程,替代了传统的初始化脚本。启动流程从执行`/etc/systemd/system/default.target`(一个指向图形化模式或多用户模式的软链接,取决于运行级别)开始。接下来,它会初始化系统(sysinit.target),准备操作系统(basic.target),并启动本地服务,同时检查`/etc/rc.d/rc.local`中的自定义脚本。最后,systemd会启动getty.target以支持多用户登录,并检查default.target是否还有其他服务需要启动。 CentOS 7 的启动流程在GRUB2引导和systemd初始化阶段引入了显著的变化,提高了系统的自动化管理和安全性。管理员需要适应新的命令行工具和配置方式,以充分利用这些改进。同时,理解这些变化有助于确保在新系统上进行有效维护和优化。