Linux 引导顺序与 /boot 目录
Linux 的引导顺序是系统从启动到进入操作系统的完整过程,与 /boot 目录密切相关。
1. 引导顺序概述
引导过程分为以下阶段:
- BIOS/UEFI 阶段:初始化硬件并加载引导加载程序。
- 引导加载程序阶段:加载 Linux 内核和初始 RAM 磁盘。
- 内核加载阶段:内核初始化硬件并挂载根文件系统。
- 初始化系统阶段:启动初始化系统(如
systemd)。 - 用户空间启动阶段:启动用户空间服务并挂载文件系统。
- 用 户登录阶段:提供登录界面。
2. /boot 目录的作用
/boot 目录存储系统启动所需的关键文件,包括内核、初始 RAM 磁盘和引导加载程序配置。
示例结构:
plaintext
/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),完成引导。