开机
- 计算机开机时启动引导过程。
- 系统硬件初始化,并将控制权交给BIOS或UEFI。
- BIOS/UEFI存储在非易失性存储器中,并执行开机自检(POST)以检查硬件完整性。
BIOS/UEFI 初始化
- 检测并初始化硬件设备,如 CPU、内存、磁盘驱动器和外设。
- 确定可启动设备(如硬盘、USB 或网络)。
- 一旦硬件检测完成,控制权将移交给引导加载程序(Bootloader)。
启动设备选择
- BIOS/UEFI 根据配置顺序选择启动设备。
- 启动设备包含引导加载程序(例如 GRUB)。
- 系统读取启动扇区以定位引导加载程序。
GRUB(引导加载程序)
- GRUB(GRand Unified Bootloader)从所选设备加载。
- 读取配置文件 /etc/grub2.cfg。
- 显示启动菜单(如果已配置),以选择所需的内核或操作系统版本。
- 将选定的Linux内核加载到内存中。
- 加载启动所需的基本内核模块和库。
内核初始化
- Linux 内核解压自身并初始化系统组件。
- 检测硬件组件并挂载根文件系统(/)。
- 启动第一个用户空间进程——通常是systemd。
- 从内核模式切换到用户模式。
执行systemd
- systemd 是用户空间中的第一个进程(PID 1)。
- 负责初始化所有其他服务和目标。
- 从 /etc/systemd/system/ 读取配置文件。
- 激活目标文件,如:
- basic.target
- multi-user.target
- getty.target
- ssh.service
运行启动脚本
- 执行系统范围和用户特定的启动脚本。
- 例如:
- /etc/profile
- /systemd-logind
- ~/.bashrc
- 这些脚本用于设置用户环境和后台服务。
用户登录
- 一旦所有启动脚本和目标执行完毕,登录界面将出现。
- 用户现在可以通过终端、GUI或SSH登录。
- 系统现在处于完全可运行的多用户状态。

