BIOS,电脑主板上的基本输入输出系统,用来初始化硬件设备,引导进入操作系统,近年来UEFI逐渐替代BIOS的功能,但人们还是习惯的称这个系统为BIOS,为了方便区分,在的主板设置中一般将传统的BIOS称为legacy,而UEFI就叫作UEFI,legacy和UEFI统称为主板的BIOS。
从电脑按下电源按钮的那一刻,BIOS就开始工作了,那么legacyBIOS和UEFIBIOS引导开机的过程到底是怎样的呢?下面来具体分析一下。
legacyBIOS开机引导过程:
1.主板加电,BIOS初始化CPU,然后继续执行BIOS芯片中的程序代码,进行其它硬件自检,完成硬件初始化。
2.读取硬盘第一个扇区中的MBR(Main Boot Record)主引导记录,这里存放了 IPL(Initial Program Loader初始化程序加载器)和DPT(Disk Partiton Table分区表),IPL读取活动分区(也就是引导文件所在的分区)的第一个扇区中的PBR(PartitionBootRecord)分区引导记录,根据PBR中的信息找到活动分区中的引导文件bootmgr.exe(bootmanger启动管理器)并执行。
3. bootmgr.exe启动管理器读取同目录下boot文件夹里的BCD(BootConfigurationData)启动配置数据,BCD中存储了操作系统内核加载程序的路径地址(C:Windowssystem32winload.exe),bootmgr.exe执行winload.exe从而引导操作系统启动运行,如果硬盘中装有多个操作系统,BCD中则分别存储他们的内核加载程序的路径地址,并且bootmgr.exe会提供选择菜单,让用户选择加载不同的操作系统。
UEFIBIOS开机引导过程:
1.主板加电,BIOS芯片中的UEFI程序初始化CPU和内存,加载驱动程序完成硬件初始化。
2.UEFI系统由于支持文件系统,所以程序直接读取硬盘的ESP分区(EFISystemPartition)执行启动管理器,启动项如果选择直接从硬盘启动,则使用UEFI默认启动管理器efibootbootx64.efi,启动项如果选择windows安装程序写入NVRAM中保存的WindowsBootManager(可以使用微软出品的bcdboot.exe删除和建立该启动项),则该启用项使用windows专用启动管理器,路径为efiMicrosoftbootbootmgfw.efi。
3. bootmgfw.efi启动管理器读取BCD启动配置文件,路径为efiMicrosoftBCD,根据BCD中的路径执行操作系统内核加载程序winload.efi,路径为C:Windowssystem32winload.efi,从而引导操作系统启动运行。