引言
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{用户登录}