MBR和EFI启动过程

Posted focus-g

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MBR和EFI启动过程相关的知识,希望对你有一定的参考价值。

 MBR启动过程

BIOS-->MBR(主引导记录)-->DPT(硬盘分区表)-->DBR(分区引导扇区)-->BootMgr-->BCD-->Winload.exe(bootmgfw.efi)-->内核加载-->

BIOS中存储硬盘启动顺序,选择从哪块硬盘启动。

该硬盘的0柱面,0磁头,1扇区为MBR,存储主引导记录信息(具体,主引导程序446字节+DPT硬盘分区表64字节+磁盘有效标志55AA,共512字节,即一个扇区大小)。

硬盘分区表(64字节)存储4个主分区信息,其中一个必是激活的主分区。

查找激活的主分区里bootmgr文件,bootmgr指向BCD引导配置文件文件,BCD文件中有开机引导项目等信息,比如添加win7就是编辑BCD文件,之后加载winload.exe,加载内核和系统。

MBR硬盘分区结构 

技术图片


 

EFI启动流程

BIOS-->ESP分区-->启动管理器bootxxx.efi-->加载BCD文件-->读取winload.efi

启动管理器(bootxxx.efi)会首先加载BCD文件,从BCD中读取所有启动项,如果有多个启动项并且没有默认启动项就会有一个菜单来显示,当用户选中其中某个启动项后,启动管理器就会从对应的分区(通过分区GUID)中读取winload.efi,如果这时找不到winload.efi,或者winload.efi签名校验失败,就会蓝屏0xc000000e,即找不到引导文件,加载完winload.efi后,控制权就正式交给winload.efi。(该段原文:https://blog.csdn.net/yeshahayes/article/details/52806095)

技术图片

 

以上是关于MBR和EFI启动过程的主要内容,如果未能解决你的问题,请参考以下文章

安装windows10时显示windows无法更新计算机的启动配置 安装无法继续

Windows无法安装到这个磁盘 选中的磁盘具有MBR分区表解决方法

Linux启动流程和服务管理(init和systemd)

Linux启动流程和服务管理(init和systemd)

win7从efi文件启动怎么办

系统简单启动过程