简介
之前一直是大概知道UEFI和BIOS的区别,没对它们的具体启动流程做对比,别人问起来也说不出个所以然,下面粗线条地介绍这两个的启动流程。
BIOS是Basic Input/Output System的缩写,即基本输入输出系统;UEFI是Unified Extensible Firmware Interface的缩写,即可扩展固件接口。
BIOS
通电之后BIOS初始化,然后是开机自检(POST),这些都是固件相关,感觉和我关系不大,略去不讲。然后BIOS就开始把bootloader载入内存,具体过程如下:
按照设定的启动顺序,依次尝试从各个磁盘启动,具体地说,把磁盘的起始扇区(512K)整个载入到内存地址0x7c00处,然后从0x7c00处开始执行。
BIOS只能和MBR格式的分区表结构一起使用,由于MBR占一个扇区,在MBR中四个分区表项又占去4x16=64B
,可启动标志0x55 0xAA
标志又占去2B
,所以在MBR中可以存放的代码最多只有512B-64B-2B=446B
。
这446B大小的代码就是bootloader了,或者说bootloader的一部分。
之所以说是一部分,是因为446B实在是小得可怜,可能连bootloader都放不下,又怎么指望它把操作系统给拉起来?于是就可以把bootload