计算机系统主要有两种引导方式:一种是传统的BIOS模型,另一种是新型UEFI(可扩展固件接口全称统一)模式。UEFI启动也可以看作是Bios的升级版。不同的模式对应不同的磁盘分区类型,BIOS只可以识别MBR分区;而UEFI可同时识别MBR分区和GPT分区,所以在UEFI可启动不同磁盘类型的操作系统。
BIOS芯片
BIOS MBR引导过程BIOS引导过程:启动自检>BIOS>MBR(主导记录)–>DPT(磁盘分区表)>PBR(分区引导记录)> Bootmgr(引导管理器)/NTLDR>BCD(从vista引导配置数据的开始)/boot.ini(XP 引导配置文件)>Winload.exe>内核加载 >windows vista /windows xp
开机自检,BIOS先要对CPU初始化,然后跳转BIOS启动处进行POST自检(如果在此过程中出现严重错误,计算机将提醒不同的报警声音),然后通过读取中断加载各种硬件,完成硬件的初始化。读入MBR(主导记录),MBR主要功能是分区表(DPT)寻找可引导的活动分区(也称为激活主分区),并在分区的引导风扇区域(分区的第一个风扇区域)中找到分区的引导记录(PBR),载入PBR中启动管理器(bootmgr.exe或NTLDR)。注意:MBR在磁盘分区格式下,磁盘只允许一个分区移动,因此启动文件(bootmgr、BCD)必须存储在活动的主分区,以便找到系统载入程序。启动管理器读取分区boot文件夹中的启动配置文本BCD(或根目录下boot.ini),然后根据启动设置文件并加载二次引导载入程序winload.exe来加载OS内核。若有多个系统,启动配置文件将有多个启动项,相应的bootmgr还将提供菜单选择,然后根据用户选择确定加载哪个系统Winload(多系统引导选择)。UEFI GPT 引导过程UEFI引导过程:启动>UEFI>GPT分区表>ESP分区(也称EFI分区)>\\efi\\Microsoft\\boot\\bootmgfw.efi>efi\\Microsoft\\BCD>\\Windows\\system32\\winload.efi。此过程没有MBR参与。此过程没有MBR参与。
启动自检,执行UEFI初始化模块;UEFI执行后,将进行CPU、当这部分设备准备就绪时,北桥、南桥和存储器的初始化工作将被载入UEFI驱动执行环境(Driver Execution Environment,简称DXE)。当DXE当装载时,系统可以加载硬件设备UEFI驱动程序。DXE各种总线和设备驱动采用枚举加载,UEFI只要能按顺序正确枚举,驱动程序就可以放置在系统的任何位置。在这方面,我们可以在磁盘上放置许多设备的驱动UEFI专用分区中(ESP当系统正确加载磁盘时,可以读取并应用这些驱动器。在这一特性的作用下,即使有更多的新设备,UEFI它还可以轻松地一一支持,从而克服传统BIOS捉襟见肘的情况。UEFI这就是为什么它可以支持网络设备并轻松联网。从EFI分区找到启动管理器(\\efi\\Microsoft\\boot\\bootmgfw.efi)。启动导入管理器EFI分区BCD文件(efi\\Microsoft\\BCD),然后根据配置内容加载和引导加载程序winload.efi(C:\\Windows\\system32\\winload.efi)来加载OS内核。如果BCD有多个配置项,用户可以选择要启动的系统。若有多个系统,启动设置文件将有多个启动项,相应的bootmgr还将提供菜单选择,然后根据用户选择确定加载哪个系统Winload(多系统引导原理)。在GPT磁盘格式下,windows系统的启动文件和启动配置文件(bootmgfw.efi、BCD)存放在一个看不见的地方FAT格式分区(也称为ESP分区或EFI分区)。
多系统启动原理多系统启动(以Windows以系统为例),BIOS MBR和UEFI GPT引导方法基本相同,通过启动文件配置(BCD或boot.ini)显示启动菜单。当用户选择其中一个启动项目时,启动管理器将加载不同的分区Winload在此分区下启动操作系统。
以下是通过BOOTICE修改启动配置文件(BCD),添加多系统启动项:
名词解释BIOS:基本输入输出系统(Basic Input Output System)。它是一组固化在计算机主板上的ROM芯片上的程序保存了计算机最重要的基本输入输出程序、启动后自检程序和系统自启动程序CMOS中读写系统设置的具体信息。硬件初始化完成后,开始阅读磁盘中的主导记录(MBR)。
MBR:主引导记录(Master Boot Record)位于磁盘前部的引导(Loader)代码主要由启动代码、硬盘分区表和结束标志组成。它负责磁盘操作系统(DOS)读写磁盘时,分区合法性的判断,分区引导信息的定位,硬盘的主要引导记录(MBR)它不属于任何操作系统。在将控制权移交给主分区(活动分区)内的操作系统之前,它先于所有操作系统调入内存并发挥作用。
DPT:磁盘分区表(Disk Partition Table)占据主导风扇区域的64个字节属于主导风扇记录的第二部分(偏移01BEH--偏移01FDH),四个分区的信息可以描述,每个分区的信息占16个字节。
PBR:分区引导记录 (Partition Boot Record)可加载分区io.sys (dos / win9x) 或 ntldr(win2000 xp 2003) 或 bootmgr (vista/win2008/win7/win10 )。
bootmgr:启动管理器(Boot Manager),是在Windows Vista、Windows 7、windows 8/8.1和windows 10中使用的新启动管理器,以代替Windows NT系列操作系统(Windows XP、Windows 2003)启动管理器——NTLDR。
NTLDR:位于系统盘根目录的隐藏系统文件,功能是读取boot.ini,装载所选操作系统后。
NTLDR:位于系统盘根目录的隐藏系统文件,功能是读取boot.ini,装载所选操作系统后。windows nt 4.0/windows 2000/windows xp/windows server 2003指导文件。
BCD:启动设置数据(Boot Configuration Data) ,BCD它是操作系统中的启动设置数据vista或windows在7的多重操作系统中,系统通过bootmgr程序导入BCD完成启动菜单的指导。可以在高级 系统设置-启动和故障恢复 调整启动默认操作系统和等待时间。
boot.ini:启动配置文件,Windows NT、Windows 2000、Windows XP、Windows Server 2003主要依赖Boot.ini在指导过程中确定计算机显示的可选操作系统类别、等待时间等。
UEFI:可扩展固件接口统一(Unified Extensible Firmware Interface), 该接口用于操作系统从预启动的操作环境自动加载到操作系统。
GPT:GUID磁盘分区表(GUID Partition Table)是实体硬盘分区表结构布局的标准。用于替代BIOS主启动记录系统存储逻辑块地址和大小信息(MBR)分区表。