1
Linux服务器配置与应用
1.6.1.2 3.1.2 使用Systemd启动过程
3.1.2 使用Systemd启动过程

当 Linux 系统使用 systemd 作为引导和服务管理器时,引导过程如下:

(1) BIOS 读取引导设备设置,定位并将控制权移交给 MBR。

(2) MBR从Grub或LILO引导加载程序读取信息并初始化内核。一旦内核加载到初始RAM 磁盘,它就会开始 systemd 初始化。Systemd 使用“目标”处理启动和服务管理过程。systemd 中的“目标”文件用于对不同的引导单元进行分组并启动同步过程。

(3) systemd 执行的第一个目标是default.target。但是default.target实际上是一个符号链接graphical.target。linux 中的符号链接就像 Windows中的快捷方式。Graphical.target 文件位于/usr/lib/syste md/system/gra phi cal.target路径,如图3.2所示。

图3.2 graphical.target文件

(4) multi-user.target已经被调用,并且这个 target 将其进一步的子单元保存在“/usr/lib/systemd/system/”目录中。该目标为多用户支持设置了环境。在启动过程的这个阶段,没有启用 root 用户。防火墙相关服务也在启动的这个阶段启动,如图3.3所示。

图3.3 multi-user.target.wants目录

(5) “multi-user.target”将控制权传递给另一层“basic.target”,如图3.4所示。

图3.4 multi-user.target

(6) “basic.target”单元是启动常用服务的管理器服务。它使用 /usr/lib/sys tem d/system/basic.target将控制权交给sysinit.target,如图3.5所示。

图3.5 basic.target

(7) “Sysinit.target” 启动重要的系统服务,如文件系统挂载、交换空间和设备、内核附加选项等。Sysinit.target 将启动过程传递给local-fs.target,如图3.6所示。

图3.6 sysinit.target

(8) “local-fs.target” 此目标单元不启动与用户相关的服务,它仅处理核心低级服务。该目标是基于“/etc/fstab”文件执行操作的目标,如图3.7所示。

图3.7 local-fs.target