首页 > 编程笔记 > Linux笔记 阅读:10

Linux启动过程的五个阶段(新手必看)

Linux 中的启动序列,涉及硬件和操作系统的初始化步骤,包括加载内核和启动服务(或守护)程序,目的是使 Linux 进入可以使用的状态。

在下图中,你可以看到启动过程从头到尾包括以下 5 个步骤:


图 1 Linux启动过程

1) 在现代环境中,统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)规范定义了启动配置(存储在 NVRAM 中)和启动加载器。在旧系统中,在这一步,开机自检(POST)完成后,基本 I/O 系统(BIOS)将初始化硬件(管理 I/O 端口和中断)并将控制权移交给引导程序。

2) 引导程序有一个目标,引导内核。细节可能根据启动介质的不同而略有不同。有一系列引导加载程序选项,包括当前的(例如,GRUB 2、systemd-boot、SYSLINUX、rEFInd)和旧的(例如,LILO、GRUB 1)。

3) 内核通常以压缩形式位于 /boot 目录下。这意味着第一步是提取并将内核加载到主内存中。在对其子系统、文件系统和驱动程序进行初始化后,内核将控制权移交给 init 系统,启动过程也随之结束。

4) init 系统负责在系统范围内启动守护进程(服务进程)。这个 init 进程是进程层次结构的根,它的进程 ID(PID)为 1。换句话说,PID 为 1 的进程一直运行到你关闭该系统。除了负责启动其他守护进程外,PID 1 进程传统上还负责处理孤立进程(不再有父进程的进程)。

5) 通常,在此之后会发生一些其他用户空间级别的初始化,具体取决于环境:

相关文章