Windows10启动过程详解

计算机启动是一个复杂而有序的过程,而使用 UEFI 和 BIOS 启动 Windows 10 又是两种不同的过程。

1、使用 BIOS 启动 Windows 10

① 按下计算机电源键,此时 BIOS 进行加电自检(POST),自检通过之后,选择从BIOS 中已设置的第一启动设备启动(一般为安装 Windows 10 的硬盘)系统,然后读取存储于硬盘第一个扇区中的 MBR 并把计算机控制权交于 MBR。

② MBR 会搜索存储于自身中的硬盘分区表,并找到其中唯一已标注为“活动”(active)的主分区(活动分区),然后在该分区根目录下搜索并读取 bootmgr(启动管理器)至内存,并将计算机控制权交于 bootmgr。

③ bootmgr 搜索位于活动分区 boot 目录下的 BCD(启动配置数据),BCD 中存储有启动配置选项,如果有多个操作系统启动选项,则 bootmgr 会显示所有启动选项,并由用户选择。如果只有一个启动选项,bootmgr 会默认启动。

④ 默认启动 Windows 10 之后,bootmgr 搜索并读取 Windows 分区 Windows\System32目录下的 winload.exe 程序,然后将计算机控制器交给 winload.exe,并由其完成内核读取与初始化以及后续启动过程。

活动分区不一定是 Windows 分区,默认情况下 Windows 安装程序会自动创建一个 350MB 并标注为“活动”(active)的主分区(保留分区)用于启动 Windows 10。BCD 文件可使用 bcdedit.exe 命令行工具进行修改,另外,BCD 文件本身也是注册表文件,可以通过注册表编辑器挂载进行修改。

2、使用 UEFI 启动 Windows 10

① 按下计算机电源键,UEFI 读取位于 ESP 分 区 EFI/Microsoft/Boot/ 目录下的bootmgfw.efi 文件并将计算机控制权交于 bootmgfw 程序。

② 由 bootmgfw 搜索并读取存储于 EFI/Microsoft/Boot/ 目录下的 BCD 文件。如果有多个操作系统启动选项,则 bootmgfw 会显示所有启动选项,并由用户选择。如果只有一个启动选项,bootmgfw 会默认启动。

③ 默认启动 Windows 10 之 后,bootmgfw 搜索并读取 Windows 分 区 Windows\System32 目录下的 winload.efi 程序,然后将计算机控制器交给 winload.efi ,并由其完成内核读取与初始化以及后续启动过程。

注意:bootmgr 与 bootmgfw 属于功能相同但适用于不同固件的程序。

BIOS 与 UEFI 启动计算机最大的不同在于,UEFI 没有加电自检过程,所以加快了Windows 10 的启动速度,如下图所示。

3、Windows 10 安全启动

Windows 10 安全启动用于确保计算机只能被信任的程序启动,此功能基于 UEFI 固件来实现其功能。

在没有使用 UEFI 固件的计算机中,操作系统在启动被加载前有漏洞,通过比较BIOS 和 UEFI 的启动过程可以看出来。

传统的 BIOS 计算机启动的过程中由于没有保护机制,可以通过将启动加载程序重定向加载恶意程序,而加载程序无法通过操作系统安全措施和反恶意软件进行检测,如下图所示。

BIOS启动过程:

由于 UEFI 支持固件实施安全策略,所以 Windows 10 借助 UEFI 安全启动,解决了操作系统启动时任意程序都能被加载的漏洞,如下图所示。

在制造计算机时,厂商将安全启动策略签名数据库存储到非易失性随机访问存储器(NVRAM)中,策略签名数据库主要包括签名数据库(DB)、吊销的签名数据库(DBX)和密钥加密密码数据库(KEK)。

当计算机使用安全启动功能启动时,UEFI 将按照存储在 NVRAM 中的策略签名数据库检查每个所要加载的程序,包括 UEFI 驱动程序以及 Windows 10。如果程序有效,UEFI 允许程序加载运行,同时将计算机控制权交给操作系统完成启动。如果 UEFI驱动程序不受信任,UEFI 将启动由设备厂商提供的恢复程序恢复受信任的 UEFI。如果操作系统启动程序无效,则 UEFI 尝试使用备份的启动程序启动;如果还原备份过程失败,UEFI 将启动 WinRE 工具进行修复。

注意:开启安全启动功能必须确保 UEFI 固件为 2.3.1 以上的版本。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wespten

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值