系列文章导航:01_Linux基础操作CentOS7学习笔记-CSDN博客
文章目录
- 启动级别的设置
- 启动流程详解
- RHEL7开机启动顺序
在Red Hat Enterprise Linux 7(RHEL 7)中,系统的启动流程和启动级别的管理方式与旧版本有所不同。本文将详细介绍RHEL 7的开机流程和启动级别的设置方法。
启动级别的设置
在RHEL 7中,系统不再使用传统的0到6的运行级别,而是采用systemd
系统和服务管理器来管理启动级别。要设置开机启动级别,可以使用以下命令:
-
设置开机启动到多用户字符界面(类似以前的运行级别3):
systemctl set-default multi-user.target
-
设置开机启动到GUI桌面界面(类似以前的运行级别5):
systemctl set-default graphical.target
要查看当前机器默认的启动级别(即目标),可以使用以下命令:
systemctl get-default
如果输出结果为graphical.target
,则表示当前设置为启动到GUI桌面界面。
启动流程详解
RHEL 7的启动流程大致分为以下几个步骤:
-
硬件启动阶段:与RHEL 6类似,涉及硬件检测和初始化等操作。
-
GRUB2引导阶段:加载GRUB2引导程序并解析配置文件
/boot/grub2/grub.cfg
,加载内核镜像到内存,并构建虚拟根文件系统,然后转交给内核。 -
内核引导阶段:加载驱动程序,切换到真正的根文件系统,执行初始化进程
/usr/lib/systemd/systemd
。 -
systemd初始化阶段:执行默认的target配置文件
/etc/systemd/system/default.target
(通常为graphical.target
或multi-user.target
),然后按照依赖关系启动服务。systemd
的初始化过程是并行的,可以加快系统启动速度。
在RHEL 7中,默认的target会指向/lib/systemd/system/
目录下的graphical.target
或multi-user.target
。graphical.target
依赖于multi-user.target
,multi-user.target
依赖于rescue.target
。任何一个目标的启动都会执行basic.target
,basic.target
又依赖于sysinit.target
。因此,启动过程是从后往前执行的。
RHEL7开机启动顺序
- 开机
- 自检
- BIOS读引导方式
- 读MBR
- 读取grub2
- 读/boot
- 读内核
- 读驱动
- 读根文件系统
- 执行
default.target
指定的服务 - 登录界面(login)
- 成功进入系统
总体来说,RHEL 7的设置启动级别的命令和以前的版本有所不同,但启动流程在重要阶段与RHEL 6相似,只是在init阶段使用了systemd
作为初始化进程管理工具,并且systemd
支持并行启动,提高了系统的启动速度。