LINUX 厂商及版本
LINUX 系统目录结构 

LINUX 系统启动流程

Linux 系统的启动流程通常可以分为以下几个关键步骤:


第一步 BIOS/UEFI:系统开机上电时首先执行基本输入输出系统(BIOS)或统一的可扩展固件接口(UEFI)程序。这些程序负责硬件的初始化和自检,检测硬件能否满足运行的基本条件,叫做“硬件自检(Power-OnSelf-Test)”,简称POST。


第一步 引导加载程序(Bootloader):BIOS/UEFI 确认硬件正常后,会加载引导加载程序,如 GRUB(Grand Unified Bootloader)或 LILO(Linux Loader)引导加载程序的主要任务是加载操作系统的内核到内存中并启动它。


第二步 内核初始化:Linux 内核被加载后,开始执行初始化过程。这包括设置基本的硬件参数、内存管理、调度程序、文件系统以及其他核心子系统的初始化。


第三步 启动 init 系统:在早期的 Linux 系统中,使用的是 SysV init 系统,现在大多数 Linux 发行版使用 systemd 作为 init 系统。init 系统是用户空间的第一个进程,负责进一步的系统初始化和服务的启动。


第四步 运行级别(Runlevel):Linux 系统在启动时会进入特定的运行级别,这决定了系统启动后的运行状态。比如,运行级别3通常是多用户命令行模式,而运行级别5则是图形用户界面模式。


第五步 启动系统服务:在特定运行级别下,init 或 systemd 开始启动各种系统服务和用户配置的服务。这些服务包括网络服务、日志服务、用户界面服务等。


第六步 用户登录:最后一步是用户登录。在图形界面模式下,通常会显示登录管理器(如 GDM、LightDM),用户在这里输入用户名和密码登录系统。在命令行模式下,则直接提供命令行提示符供用户登录。


这些步骤构成了 Linux 系统的启动流程的基本框架。不同的 Linux 发行版可能会有一些细微的差别,但整体流程大致相似。