引言

CentOS启动流程详解

1. POST(Power-On Self-Test)

当电源开启时,计算机首先执行POST,这是固件(BIOS/UEFI)的初始化过程。POST的主要功能是检测硬件设备,确保它们正常工作。

2. BIOS/UEFI自检

POST完成后,BIOS/UEFI会对硬件进行自检,包括CPU、内存、硬盘等。这个过程通常在屏幕上显示硬件检测信息。

3. 选择启动设备

BIOS/UEFI根据设置选择启动设备,通常是硬盘。它会读取硬盘上的主引导记录(MBR)。

4. MBR(主引导记录)

MBR是硬盘上的第一个扇区,其中包含启动加载程序(如GRUB)。MBR负责将控制权传递给GRUB。

5. GRUB(引导加载程序)

GRUB是一个多引导加载程序,负责加载Linux内核。GRUB会显示一个菜单,让用户选择要启动的内核版本。

6. 加载内核

GRUB将内核加载到内存中,并传递控制权给内核。

7. 内核初始化

内核初始化包括设置内存、启动设备驱动程序等。内核会创建初始化进程init。

8. init进程

init是系统中的第一个进程,负责启动和停止其他系统服务。init会读取配置文件,确定系统的运行级别。

9. 系统初始化

根据运行级别,init会启动相应的系统初始化脚本。这些脚本负责配置系统环境,启动各种服务。

10. 用户登录

系统初始化完成后,用户可以登录系统。

一图读懂CentOS启动流程

graph LR
A[POST] --> B{BIOS/UEFI自检}
B --> C{选择启动设备}
C --> D{读取MBR}
D --> E{GRUB引导}
E --> F{加载内核}
F --> G{内核初始化}
G --> H{init进程}
H --> I{系统初始化}
I --> J{用户登录}

总结