按照硬件区域的不同,下面将操作系统的引导分成三个部分。
CPU和bios相关
知识点辨析
-
bios存储在ROM中,含有最初始的引导代码
这让我想起来了之前学的TPM(可信平台模块),这里啰嗦一下。由于操作系统的引导序列是操作系统安全的根基,之前的计算机设计者并没有考虑到引导序列的安全问题,TPM就是建立一个可信平台模块,保护bios中的数据安全性,通常在bios模块之前,为一个小硬件芯片。
win11升级要求里面的需要TPM2.0就是这个玩意。
-
操作系统的引导程序位于硬盘中
引导过程
-
CPU加电,CS:IP寄存器指向OXFFFF0H这个内存地址
这个地址为一个JMP无条件跳转指令,跳转的目的地是bios中的第一行代码。
-
执行JMP指令跳转到BIOS
-
登记执行BIOS中的中断程序入口
为什么要这么早就登记中断程序入口呢?我们知道中断是CPU最重要的功能,其中包含着输入输出功能。我们平时在电脑启动的时候可能会看见一行英文:Pess enter to interrupt。也就是说,在引导过程中,我们可以通过人工干预计算机的引导,而这个功能的实现,需要操作系统的中断功能
这一步创建了中断向量表
-
硬件自检
只有上一步的中断,才能实现这一步的自检
-
进行操作系统引导
加载主引导记录MBR
知识点辨析
主引导记录是干啥的?
- 标识硬盘,就是看看那一块是C盘那一块是D盘,让之后能够去C盘去寻找操作系统的代码
过程
- 遍历所有硬盘,根据特定的引导标识符标识硬盘分区
- 扫描硬盘分区表,找到含有操作系统的分区(活动分区)
- 找到活动分区之后,将控制权交给活动分区
加载分区引导记录PBR
流程
-
从活动分区的根目录(C盘)读入分区引导记录,执行程序
这里为什么说是根目录呢?
C盘只有根目录存放的是操作系统的信息,C盘其他部分可能存放的其他部分的信息
-
从根目录下找到系统初始化程序(启动管理器),开始开机。
再将上面的思路捋一遍
- 通过ROM找到BIOS的第一行代码
- 通过BIOS进行一些硬件操作,并引出下面的流程
- 通过加载主引导分区MBR找到C盘
- 通过加载引导记录PBR找到C盘中的操作系统代码(启动管理器)
- 启动操作系统