计算机系统引导方式主要有两种:一种是传统的BIOS模式,另一种是新型UEFI(全称统一的可扩展固件接口)模式。UEFI启动也可以看作是Bios的升级版。不同模式对应不同的磁盘分区类型,BIOS只可以识别MBR分区;而UEFI可同时识别MBR分区和GPT分区,所以在UEFI下可以启动不同磁盘类型中的操作系统。
BIOS芯片
BIOS引导过程:开机自检>BIOS>MBR(主引导记录)–>DPT(磁盘分区表)>PBR(分区引导记录)> Bootmgr(引导管理器)/NTLDR>BCD(从vista开始的引导配置数据)/boot.ini(XP 引导配置文件)>Winload.exe>内核加载 >windows vista+/windows xp
UEFI引导过程:开机>UEFI>GPT分区表>ESP分区(也称EFI分区)>efiMicrosoftbootbootmgfw.efi>efiMicrosoftBCD>Windowssystem32winload.efi。此过程没有MBR参与。
在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,之后装载所选操作系统。是windows nt 4.0/windows 2000/windows xp/windows server 2003的引导文件。
BCD:启动设置数据(Boot Configuration Data) ,BCD是操作系统中的启动设置数据,在有vista或windows7的多重操作系统中,系统通过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)分区表。