正文
“引导”(booting)是“启动计算机”的标准说法。他是“bootstrapping” 一词的简写,之所以使用这个词是因为计算机必须“自己把自己启动起来”(pull it self by its own bootstraps)。
引导过程包括如下几个粗略的任务:
- 查找、载入并执行引导代码;
- 查找、载入并执行操作系统内核;
- 运行启动脚本和系统守护进程;
- 维护进程卫生(process hygiene),管理系统状态变化。
系统固件。在正常的引导过程中,系统固件会侦测硬件和磁盘,执行一些简单的健康检查,然后查找下一阶段的引导代码。
BIOS vs. UEFI。传统的 PC 固件叫做 BIOS(Basic Input/Output System)。在过去的 10 年间,BIOS 已经被另一种更为正式和现代的标准所替代,那就是“统一扩展固件接口”(Unified Extensible Firmware Interface,UEFI)。
传统 BIOS。传统 BIOS 认为引导设备是以主引导记录(Master Boot Recoed,MBR)作为起始。MBR 包括第一阶段的引导装载程序(也叫做“引导块”)和一个原始的磁盘分区表。可供引导装载程序使用的空间非常有限(不足 512 字节),所以除了载入并运行第二阶段的引导装载程序之外,也干不了什么别的事情了。
Linux 内核选项
选项 | 含义 |
debug | 开启内核调试 |
init=/bin/bash | 只启动 bash shell,可用于紧急恢复 |
root=/dev/foo | 告诉内核将 /dev/foo 作为根设备 |
single | 引导进入单用户模式 |