bios|传统BIOS与UEFI开机引导的过程

bios|传统BIOS与UEFI开机引导的过程

文章图片

bios|传统BIOS与UEFI开机引导的过程

【bios|传统BIOS与UEFI开机引导的过程】BIOS , 电脑主板上的基本输入输出系统 , 用来初始化硬件设备 , 引导进入操作系统 , 近年来UEFI逐渐替代BIOS的功能 , 但人们还是习惯的称这个系统为BIOS , 为了方便区分 , 在的主板设置中一般将传统的BIOS称为legacy , 而UEFI就叫作UEFI , legacy和UEFI统称为主板的BIOS 。

从电脑按下电源按钮的那一刻 , BIOS就开始工作了 , 那么legacyBIOS和UEFIBIOS引导开机的过程到底是怎样的呢?下面来具体分析一下 。
legacyBIOS开机引导过程:
1.主板加电 , BIOS初始化CPU , 然后继续执行BIOS芯片中的程序代码 , 进行其它硬件自检 , 完成硬件初始化 。
2.读取硬盘第一个扇区中的MBR(MainBoot Record)主引导记录 , 这里存放了IPL(Initial Program Loader初始化程序加载器)和DPT(DiskPartiton Table分区表) , IPL读取活动分区(也就是引导文件所在的分区)的第一个扇区中的PBR(PartitionBootRecord)分区引导记录 , 根据PBR中的信息找到活动分区中的引导文件bootmgr.exe(bootmanger启动管理器)并执行 。
3.bootmgr.exe启动管理器读取同目录下boot文件夹里的BCD(BootConfigurationData)启动配置数据 , BCD中存储了操作系统内核加载程序的路径地址(C:\\Windows\\system32\\winload.exe) , bootmgr.exe执行winload.exe从而引导操作系统启动运行 , 如果硬盘中装有多个操作系统 , BCD中则分别存储他们的内核加载程序的路径地址 , 并且bootmgr.exe会提供选择菜单 , 让用户选择加载不同的操作系统 。

UEFIBIOS开机引导过程:
1.主板加电 , BIOS芯片中的UEFI程序初始化CPU和内存 , 加载驱动程序完成硬件初始化 。
2.UEFI系统由于支持文件系统 , 所以程序直接读取硬盘的ESP分区(EFISystemPartition)执行启动管理器 , 启动项如果选择直接从硬盘启动 , 则使用UEFI默认启动管理器\\efi\\boot\\bootx64.efi , 启动项如果选择windows安装程序写入NVRAM中保存的WindowsBootManager(可以使用微软出品的bcdboot.exe删除和建立该启动项) , 则该启用项使用windows专用启动管理器 , 路径为\\efi\\Microsoft\\boot\\bootmgfw.efi 。
3.bootmgfw.efi启动管理器读取BCD启动配置文件 , 路径为efi\\Microsoft\\BCD , 根据BCD中的路径执行操作系统内核加载程序winload.efi , 路径为C:\\Windows\\system32\\winload.efi , 从而引导操作系统启动运行 。