-
CPU初始化
-
CS:IP = 0xf000:fff0
-
第一条指令是跳转指令
-
-
CPU初始状态为16位实模式
-
CS:IP是16位寄存器
-
指令指针PC = 16*CS + IP
-
最大地址空间是1MB
-
-
BIOS初始化过程
-
硬件自检POST
-
检测系统中内存和显卡等关键部件的存在和工作
-
查找并执行显卡等接口卡BIOS,进行设备初始化
-
执行系统BIOS,进行系统检测;
-
检测和配置系统中安装的即插即用设备
-
-
更新CMOS中的拓展系统配置数据ESCD(能知道系统有什么设备,会变)
-
按指定启动顺序从软盘、硬盘或光驱启动。(读进到第一块扇区)
-
-
主引导记录MBR格式
-
启动代码:446字节
-
检查分区表正确性
-
加载并跳转到磁盘上的引导程序
-
-
硬盘分区表:64字节
-
描述分区状态和位置
-
每个分区描述信息占据16字节(4个分区)
-
-
结束标志字:2字节(55AA)
-
主引导记录的有效标志
-
-
-
分区引导扇区格式
-
跳转指令: 跳转到启动代码 (jmp)
-
与平台相关代码
-
-
文件卷头 : 文件系统描述信息
-
启动代码 : 跳转到加载程序
-
结束标志: 55AA
-
-
加载程序(bootloader)
-
从文件系统中读取启动配置信息 (加载程序)
-
可选的操作系统内核列表和加载参数 (启动菜单) (加载时候内核或参数不同)
-
依据配置加载指定内核并跳转到内核执行 (操作系统内核)
-
-
系统启动规范
-
BIOS (启动流程标准)
-
固化到计算机主板上的程序
-
包括系统设置、自检程序和系统自启动程序
-
BIOS-MBR(主引导记录)、BIOS-GPT(全局唯一标识分区表)、PXE(网络系统, 从服务器上下载镜像)
-
-
UEFI
-
接口标准
-
在所有平台上一致的操作系统启动服务
-
可信启动流程,读磁盘上的引导记录时候,会对引导记录的可信性进行检查。可信这些代码在我的系统上运行。
-
-