BootLoader
TOC
启动顺序
- BIOS 加载 MBR 的 bootloader 和分区表。
- bootloader 加载操作系统内核。以 GRUB 为例,内核会挂载
/boot
里的 initramfs 镜像文件到内存中作为 Linux 的根文件系统。 - 内核检测系统硬件。启动流程根据配置启动 INIT 进程(Linux 系统的 INIT 进程是 systemd)。
常见的 bootloader
- GNU GRUB: 用于 Linux 系统
- uboot: 用于嵌入式设备。
- breed: 中国人 Weijie Gao 做的闭源 bootloader。用于嵌入式设备。2022 年停止维护。
- mcuboot: 用于 32 位 MCU 的 bootloader。
- syslinux: bootloader 套装。常用来从硬盘(包括 MS-DOS FAT 文件系统)、USB、光盘或网络引导启动 Linux 系统。它包括 syslinux, isolinux, pxelinux, extlinux, memlinux 等工具。
- Etherboot (gPXE): 从网络启动的 bootloader
- limine: 比较新的 bootloader
- OpenCore bootloader: 黑苹果系统的破解 bootloader,专门用于启动 MacOS。
- rust-osdev/bootloader: 用 Rust 实现的 Bootloader。可以关注一下。
- systemd-boot: 不太用到