目录 Linux 操作系统的启动流程: BIOS(或UEFI)启动:当计算机加电时,BIOS(基本输入输出系统)或更现代的UEFI(统一可扩展固件接口)会执行一系列的自检(POST,Power-On Self Test),以确保硬件正常工作。随后,BIOS/UEFI会根据用户设置的启动顺序来定位并加载引导设备(如硬盘、USB驱动器或网络)上的主引导记录(MBR)或UEFI系统分区中的引导加载程序。 Boot Loader加载:最常用的Boot Loader是GRUB(Grand Unified Bootloader),它负责加载内核映像和初始化RAM磁盘(initramfs)到内存中。这一阶段可能还包括用户选择操作系统内核版本或恢复模式等选项。 内核初始化:内核一旦被加载并控制权交接之后,会进行一系列的初始化操作,包括设置内存管理、初始化硬件设备、加载驱动模块、挂载根文件系统等。此阶段还会运行内核初始化脚本(如 Init进程启动:内核初始化的最后阶段是启动PID为1的init进程。在传统的System V风格的init系统中,这通常是 总的来说,init进程作为系统启动过程的指挥中心,对整个系统的运行起着至关重要的作用。
/sbin/init
在较旧系统或systemd
在现代系统中)。/sbin/init
程序;而在使用systemd的系统中,则是systemd
。这个进程是所有其他用户空间进程的父进程,它根据配置启动系统服务,建立运行级别或目标状态,并管理后续的系统和服务初始化。Init进程读取如/etc/inittab
(传统系统)或/etc/systemd/system/default.target
(systemd系统)等配置文件,来确定系统启动后应进入哪种运行模式或目标单元。