目前主机系统加载硬件驱动方面的程序有早期的BIOS和新 的UEFI两种机制
BIOS
BIOS 是写入到主板上的一个固件(所谓固件即是写入到硬件上的软件程序。)
BIOS是计算机在启动时,计算机系统会主动执行的第一个程序。
流程如下:
后面的就是MBR内的引导程序的事了。
这个启动引导程序的目的在于加载(load)内核文件。
如果分区表为GPT格式,BIOS也能从LBA0的MBR兼容区读取该阶段的启动引导程序码。
Boot loader(引导程序)主要的任务有以下:
- 提供选项:可选择不同的启动选项
- 加载内核文件:直接指向可使用的程序区段来启动操作系统
- 转交其他启动引导程序
启动引导程序除了可安装在MBR之外,还可以安装在每个分区的启动扇区(boot sector),此为多重引导
多重引导
什么叫 多重引导?
多重引导即在开机时可以选择把开机管理工作交给不同扇区的启动扇区。由此,我们有:
- 每个分区都有自己的启动扇区(boot sector)
- 实际可启动的内核文件是放置到各分区中的
- 启动引导程序只会认识自己的系统分区内的可启动的内核文件,以及其他启动引导程序
- 启动引导程序可直接指向或是间接将管理权转交给另一个管理程序
注意:windows安装时,它的安装程序会自动覆盖掉MBR以及自己所在分区的启动扇区,因此你没有机会去选择多重引导。
UEFI BIOS搭配GPT启动的流程
BIOS并不能理解GPT,甚至GPT要提供兼容模式才能被BIOS读写。因此,就诞生了UEFI(Unified extensible Firmwa)