Linux 开机流程
🧠 Linux 开机流程总体分为 4 个阶段:
第一阶段:BIOS/UEFI 初始化
🔌 触发点:按下电源键
📦 工作内容:
- 加载 BIOS/UEFI,执行硬件自检(POST)
- 读取启动顺序,找到第一个可启动设备
💥 常见问题点:
- 找不到启动设备(BIOS 设置错)
- 硬件检测失败(内存条没插好等)
第二阶段:Boot Loader(如 grub2)加载
🔁 从启动设备读取 MBR 或 EFI 区块
🚀 Boot Loader 功能:
- 提供启动菜单
- 选择并加载对应的 Linux 内核(vmlinuz)
💥 常见问题点:
- grub 配置错误
- MBR 损坏或被覆盖(安装 Windows 后)
第三阶段:内核加载(Kernel)
🧬 功能:
- 内核解压缩到内存中,开始运行
- 识别硬件信息,加载相应驱动
🔧 输出:进入一个「最精简的操作系统」
💥 常见问题点:
- 找不到根文件系统(rootfs)
- initramfs 错误导致内核 panic
第四阶段:用户空间初始化(systemd)
- 🧩 由内核启动 systemd(以前是 init)
- 🧭 执行流程(target 是 systemd 的阶段定义):
sysinit.target
:基础初始化(挂载文件系统、设置时钟)basic.target
:准备系统基础功能(网络等)multi-user.target
:启动服务器服务,如 sshd、network 等/etc/rc.local
:用户自定义启动脚本getty.target
:启动终端登录服务graphical.target
:图形界面(若安装桌面环境)
💥 常见问题点:
- systemd 配置错、服务启动失败
- 服务依赖配置错(启动顺序错)
✅ 总结成一句话:
开机流程是从 BIOS → Boot Loader → 内核加载 → systemd 初始化,一环扣一环,systemd 在后期占比最大,是系统能否正常启动的关键。
Linux 开机流程
https://luffy997.github.io/2025/04/14/Linux-开机流程/