F.2. 对引导过程的详细介绍
引导过程的开始阶段根据硬件平台的不同而不同。然而,一旦内核被引导装载程序发现并载入,在所有体系结构的机器上缺省的引导过程就都是一样的。本章主要着重于 x86 体系结构。
当 x86 被引导后,处理器会在系统内存的末端寻找 基本输入/输出系统(Basic Input/Output System) 或者 BIOS 程序并运行它。BIOS 不仅控制引导过程的第一个步骤,也提供外部设比的最底层接口。因此,它被编写为只读的、常驻内存并且是一直可用的。
其他平台所使用的执行底层任务的程序和 x86 系统的 BIOS 是基本一样的。例如,基于 Itanium 的机器使用 Extensible Firmware Interface(EFI)Shell。
一旦被装载,BIOS 会测试系统,寻找并检查外设,然后定位可以引导系统的有效设备。通常,它检查所有的软盘驱动器和光盘驱动器来下寻找可引导的介质,如果没有找到,它会尝试系统的硬盘。在大多数情况下,寻找驱动器的顺序是由 BIOS 里的设置所控制的,首先是主 IDE 总线上的主 IDE 设备。BIOS 然后把这个设备的第一个扇区的内容载入内存,它被称作 主引导记录(Master Boot Record) 或者 MBR。MBR 只有 512 个字节大小,它包含了被称作引导装载程序的引导机器的代码指令,以及分区表。一旦 BIOS 找到引导装载程序并把它载入到内存里,BIOS 就会把引导过程的控制权交给它。