UEFI+GPT引导和BIOS+MBR旧引导-两个有什么区别

win系统 -

UEFI+GPT是如何引导系统开机的,和传统旧的BIOS+MBR引导是如何开机的,开机过后,需要经历过哪些阶段,需要注意什么?

 

我们来看一下,到底是怎么个事。

 

第一阶段:硬件初始化 (BIOS/UEFI)

1.上电 (Power On): 按下电源键,主板通电。

2.CPU启动: 电源稳定后,CPU从固化在芯片中的固定地址(对于x86是 0xFFFFFFF0)开始执行第一条指令。这个地址指向了固件(BIOS或UEFI)的入口。

3.POST (Power-On Self-Test):

    • CPU开始执行固件代码。

    • BIOS: 进行一系列硬件自检:识别CPU型号、检测和初始化内存、检测关键外设(键盘、鼠标、存储控制器等)。如果关键硬件故障,会发出蜂鸣声或显示错误码。

    • UEFI: 自检过程更模块化和快速,但目的类似。

4.固件初始化: 加载CMOS/闪存中保存的用户设置(如日期时间、启动顺序)。

5.启动设备枚举: 按照预设的启动顺序(如:USB -> 硬盘 -> 网卡),固件尝试寻找一个可启动的设备。

 

 

第二阶段:引导加载程序 (Bootloader)

从这里开始,路径因固件类型不同而分岔

场景A:传统BIOS + MBR 引导 (旧式)

1.读取MBR: BIOS将第一个可启动硬盘的第一个扇区(512字节),即 主引导记录(MBR),加载到内存中并执行。

2.MBR代码: MBR的前440字节是启动代码。它的任务是在分区表中找到标记为 “活动” 的分区。

3.读取VBR: MBR代码将该活动分区的卷引导记录(VBR),即分区的第一个扇区,加载到内存并执行。VBR包含该分区文件系统的信息。

4.加载启动管理器: 对于Windows,VBR的代码会查找并运行该分区根目录下的 bootmgr 文件(Windows Boot Manager)。

场景B:现代UEFI + GPT 引导 (主流)

1.查找ESP: UEFI不读MBR。它直接查找硬盘上的 EFI 系统分区(ESP)。这是一个使用FAT32格式的小分区,包含引导所需的文件。

2.运行Boot Manager: UEFI根据其内部变量或扫描ESP分区,找到并直接运行 \EFI\Microsoft\Boot\bootmgfw.efi这是一个完整的应用程序,远比MBR的512字节复杂

 

 

第三阶段:Windows Boot Manager 与 内核加载

此时,无论哪种方式,控制权都已交给 Windows Boot Manager (bootmgr 或 bootmgfw.efi)。

1.读取BCD: Boot Manager 读取 引导配置数据库(BCD)。这是一个存储在 \Boot\BCD 的注册表式数据库,包含了所有可启动的操作系统条目和启动参数。

2.显示启动菜单: 如果BCD中配置了多个操作系统(如Windows 10和Windows 11),则会显示启动选择菜单。若无,则直接进入默认项。

3.加载内核: 根据选择,Boot Manager 加载并执行 Windows内核加载器 winload.efi(UEFI)或 winload.exe(BIOS)。它将控制权移交给内核加载器。

4.内核加载器工作:

    • 加载核心内核文件 Ntoskrnl.exe 和 硬件抽象层 hal.dll

    • 加载系统注册表配置单元(SYSTEM 等)。

    • 加载启动类别(BOOT_START)的底层设备驱动,用于访问启动卷(C盘)和其他关键硬件。

    • 将所有必要模块和数据结构放入内存,为内核执行做好准备。

 

 

第四阶段:内核初始化与用户会话

1.内核接管Ntoskrnl.exe 开始执行,初始化核心系统组件:对象管理器、内存管理器、I/O管理器、配置管理器等。

2.会话管理器启动: 内核启动第一个用户模式进程 smss.exe(会话管理器)。

3.启动关键服务:

    • smss.exe 启动 csrss.exe(Windows子系统)。

    • 它启动 wininit.exe,后者负责启动服务控制管理器 services.exe(加载所有Windows服务)、本地安全认证子系统 lsass.exe 和登录进程 winlogon.exe

4.Winlogon与登录:

    • winlogon.exe 启动,显示登录界面

    • 用户输入凭据,lsass.exe 验证其合法性。

5.用户会话创建: 验证成功后,winlogon.exe 启动 userinit.exe

    • userinit.exe 加载用户配置,启动Windows资源管理器 explorer.exe(这就是桌面的Shell)。

    • 同时,它会运行用户组的启动项和登录脚本。

6.桌面就绪: explorer.exe 加载完成后,显示桌面、任务栏,启动托盘程序。至此,整个启动过程完成,系统进入可交互状态。

反馈留言  -  RSS订阅  -  百度蜘蛛  -  谷歌地图  -  必应爬虫  -  搜狗蜘蛛  -  奇虎地图  -  神马爬虫

本网站只提供WEB页面,若侵权,我们会及时处理。

请给邮箱地址来信

Copyright © huiku.cc All Rights Reserved.