一、系统启动核心流程
Linux启动流程可分为硬件初始化、引导加载、内核启动、用户空间初始化四个阶段,其关键路径如下:
1. 硬件初始化阶段
- UEFI/BIOS阶段(0.1-5秒)
- 执行POST自检(Power-On Self Test)
- 加载UEFI固件驱动(NVMe、GPU等)
- 初始化ACPI表(电源管理框架)
- 引导设备选择(0.1秒级)
- 读取NVRAM中的启动顺序配置
- 检测可启动设备签名(Secure Boot验证)
2. 引导加载阶段
- GRUB2工作流程(1-3秒)
- 加载core.img(第一阶段加载器)
- 解析grub.cfg配置文件(含内核参数)
- 加载vmlinuz与initramfs到内存
- Initramfs解压(0.5-2秒)
- 加载必要的硬件驱动(LVM、RAID等)
- 挂载真正的根文件系统
3. 内核初始化阶段
- 内核启动序列(0.3-1秒)
- 初始化调度器、内存管理、中断控制器
- 探测PCIe设