跳到主要内容

Linux 引导顺序与 /boot 目录

Linux 的引导顺序是系统从启动到进入操作系统的完整过程,与 /boot 目录密切相关。

1. 引导顺序概述

引导过程分为以下阶段:

  1. BIOS/UEFI 阶段:初始化硬件并加载引导加载程序。
  2. 引导加载程序阶段:加载 Linux 内核和初始 RAM 磁盘。
  3. 内核加载阶段:内核初始化硬件并挂载根文件系统。
  4. 初始化系统阶段:启动初始化系统(如 systemd)。
  5. 用户空间启动阶段:启动用户空间服务并挂载文件系统。
  6. 用户登录阶段:提供登录界面。

2. /boot 目录的作用

/boot 目录存储系统启动所需的关键文件,包括内核、初始 RAM 磁盘和引导加载程序配置。

示例结构:

/boot/
├── config-* # 内核配置文件
├── efi/ # EFI 分区挂载点
│ ├── EFI/
│ │ ├── Boot/ # 通用引导文件
│ │ ├── Microsoft/ # Windows 引导文件
│ │ ├── ubuntu/ # Ubuntu 引导文件
│ │ └── refind/ # rEFInd 引导管理器
├── grub/ # GRUB 配置和模块
│ ├── grub.cfg # GRUB 配置文件
│ └── x86_64-efi/ # GRUB 模块(UEFI 模式)
├── initrd.img-* # 初始 RAM 磁盘映像
├── System.map-* # 内核符号表
├── vmlinuz-* # Linux 内核文件

::: tip 双系统引导

将其他系统的引导文件复制到 /boot/efi/EFI/ 下。如上所示。

:::

3. 各阶段与 /boot 的关系

BIOS/UEFI 阶段

  • BIOS:从 MBR 加载 GRUB。
  • UEFI:从 EFI 分区加载引导文件(如 bootx64.efi)。

引导加载程序阶段

GRUB 从 /boot 加载内核(vmlinuz-*)和初始 RAM 磁盘(initrd.img-*)。

内核加载阶段

内核初始化硬件设备并挂载根文件系统。

初始化系统阶段

内核启动初始化系统(如 systemd),完成引导。

4. Linux 引导顺序流程图

1. BIOS/UEFI

2. 引导加载程序(GRUB/rEFInd)

3. 加载内核和初始 RAM 磁盘

4. 初始化系统(systemd 或 init)

5. 启动用户空间服务

6. 用户登录

5. 注意事项

  1. EFI 分区:存储引导文件,确保其挂载正确。
  2. GRUB 配置:修改 /etc/default/grub 后运行 update-grub
  3. 修复引导:使用 grub-installefibootmgr 修复。
  4. 日志查看:通过 journalctl 查看引导日志。