在计算机的主板上,BIOS,即基本输入输出系统,担任着初始化硬件设备和引导操作系统的重任。尽管近年来UEFI逐渐取代了BIOS的功能,但人们依旧习惯于称之为BIOS。为了便于区分,主板设置中通常将传统BIOS称为“legacy”,而UEFI则称作“UEFI”。这两者都被统称为主板的BIOS。
当电脑电源按钮被按下的那一刻起,BIOS便开始其工作。那么,legacy BIOS与UEFI BIOS在开机引导过程中的具体步骤到底是怎样的呢?下面我们将详细探讨这两个系统的引导流程。
legacy BIOS的开机引导步骤如下:
1.
当主板接通电源后,BIOS会首先初始化CPU,接着执行BIOS芯片中的程序代码,进行硬件自检,并完成硬件的初始化过程。
2.
接下来,BIOS读取硬盘第一个扇区中的MBR(主引导记录),这里保存了IPL(初始化程序加载器)和DPT(磁盘分区表)。IPL会从活动分区的第一个扇区读取PBR(分区引导记录),然后根据PBR中的信息定位引导文件bootmgr.exe(启动管理器),并执行它。
3.
启动管理器bootmgr.exe会读取同目录下的BCD(启动配置数据)文件,BCD中存储了操作系统内核加载程序的路径地址(例如C:Windowssystem32winload.exe)。bootmgr.exe会执行winload.exe,从而引导操作系统。如果硬盘中有多个操作系统,BCD中会存储各个操作系统的内核加载程序路径,并提供一个选择菜单供用户选择要加载的操作系统。
UEFI BIOS的开机引导过程则有所不同:
1.
在主板加电后,BIOS芯片中的UEFI程序会初始化CPU和内存,并加载必要的驱动程序以完成硬件初始化。
2.
由于UEFI系统支持文件系统,它能够直接读取硬盘上的ESP(EFI系统分区),然后执行启动管理器。如果启动项选择直接从硬盘启动,UEFI默认使用efibootbootx64.efi。如果启动项是从Windows安装程序中写入NVRAM保存的Windows Boot Manager启动项,则会使用efiMicrosoftbootbootmgfw.efi(此启动项可以通过bcdboot.exe进行管理)。
3.
启动管理器bootmgfw.efi会读取BCD启动配置文件(路径为efiMicrosoftBCD),然后根据BCD中的路径信息执行操作系统内核加载程序winload.efi(路径为C:Windowssystem32winload.efi),从而引导操作系统的启动。