几乎每个软件工程师都用过 Linux,但并不是每个人都知道它的启动过程。让我们深入了解一下。
下图给我们展示了具体步骤。
第 1 步
当我们打开电源时,BIOS(基本输入/输出系统,Basic Input/Output System)或 UEFI(统一可扩展固件接口,Unified Extensible Firmware Interface)固件会从非易失性内存中加载,并执行 POST(开机自检,Power On Self Test)。
第 2 步
BIOS/UEFI 检测连接到系统的设备,包括 CPU、内存和存储设备。
第 3 步
选择一个启动设备来启动操作系统。可以是硬盘、网络服务器或 CD ROM。
第 4 步
BIOS/UEFI 运行引导加载器 (GRUB),它提供了一个选择操作系统或内核功能的菜单。
第 5 步
内核准备就绪后,我们现在切换到用户空间。内核启动 systemd 作为第一个用户空间进程,负责管理进程和服务、探测所有剩余硬件、挂载文件系统并运行桌面环境。
第 6 步
系统启动时,systemd 默认激活 default.target 单元。同时还会执行其他分析单元。
第 7 步
系统运行一组启动脚本并配置环境。
第 8 步
用户将看到一个登录窗口。系统现已准备就绪。