2023年11月25日发(作者:)

UEFI+GPTLegacy+MBR引导模式介绍及引导修复教程

磁盘分区表格式

一般来说,磁盘分区表有两种格式:MBR GPT

MBR 分区表windows 操作系统下最多支持4 个主分区或3 个主分区+1 个扩展分区

(包含多个逻辑分区),扩展分区必须划分为逻辑分区才能使用,1 个扩展分区可以划分多

个逻辑分区

MBR 分区表不支持容量大于2.2TB 的分区(一些硬盘制造商将他们的容量较大的磁盘升级

到了4KB 的扇区,这意味着MBR 的有效容量上限提升到了16 TB) 如下图是一个MBR

区表示例:1 个主分区+1 个扩展分区(划分了3 个逻辑分区)

GPT 分区表对分区数量没有限制,但在windows 系统上最多可以支持128 个主分区

GPT 分区表突破了MBR 最大支持2.2T 分区的限制,貌似最大支持18EB 的分区如下图是

一个GPT 分区表示例:划分了7 个主分区

BIOS 引导方式

目前主要的系统引导方式也有两种:传统的Legacy

BIOS 和新型的UEFI BIOS一般来说,有如下两种引导+磁盘分区表组合方式:

Legacy BIOS+MBR UEFI BIOS+GPTLegacy BIOS 无法识别GPT 分区表格式,

所以也就没有Legacy BIOS+GPT 组合方式;

UEFI BIOS 可同时识别MBR 分区和GPT 分区,所以UEFI 下,MBR GPT 磁盘都可用于启动

操作系统。不过由于微软限制,UEFI 下使用Windows 安装程序安装操作系统是只能将系统

安装在GPT 磁盘中。

再来说说传统Legacy BIOS 和新型UEFI BIOS 引导方式的工作原理吧:

Legacy BIOS

Legacy BIOS MBR →“活动的主分区”→ bootmgrBootBCD

Windowssystem32winload.exe

传统Legacy BIOS 引导windows 操作系统时,是通过一个活动的主分区下的bootmgr(启动

管理器)文件导入根目录下boot 文件夹里的BCD(启动设置数据)文件,然后BCD 文件根

据自身的配置内容加载系统启动文件winload.exe (位置:根目录

)来启动系统。

一个BCD 文件可以加载多个系统启动文件从而实现引导多个系统的启动通过EasyBCD工具

看以看到BCD 文件的内容,如下是我的win8.1 win10 两个系统的BCD 内容:

我的windows 8.1 C 盘, 位置:C: 我的

window 10 G 盘,winload位置:G: 通过BCD 来加载不同

位置的 来实现这两个系统的启动

通过引导修复工具NTBOOT Autofix查看BCD 文件内容,如下图:

bootmgr BCD

需要注意的是: 动文件 磁盘格式下, 系统的

MBR windows

放在 动的主分区 这样才能正常引导系统启动(

MBR

磁盘分区格式下,只允许有一个分

区是活动的

如果是使用微软原版操作系统按照windows 安装程序来进行系统安装,系统会自动创建一

个隐藏的活动主分区(win7 貌似是100Mwin8 貌似是350M)用来存放启动文件;如果采

用其他安装方式来安装系统,由于系统默认并不会自动创建这个活动的主分区,启动文件

将会存放我们的系统盘里,所以我们在采用其它安装方式安装第一个系统时,需要确保安

装系统的分区是活动的、而且是主分区,而安装第二个、第三个系统时,就不必要求必

须是主分区了,逻辑分区也可以,因为安装第二个、第三个系统时,我们已经有了一个

活动的主分区了(第一个系统所在的分区),这个活动的主分区下的BCD 文件里已经包含

了我们的第二个、第三个系统的启动信息用来启动第二个、第三个系统。

UEFI BIOS

UEFI BIOS EFI 系统分区(FAT 格式的分区)→

efiMicrosoftBCDWindowssystem32winload.efi

UEFI BIOS 引导windows 系统时,是通过一个FAT 格式分区下的文件来导入

BCD 文件,然后BCD 文件根据自身的配置内容加载系统引导文件winload.efi

(对比legacy 引导发现,UEFI 的引导文件为winload.efi,而Legacy 的引导文件为winload.exe)

需要注意的是:GPT 磁盘格式下,windows 系统的启动文件(BCD)是

存放在一个FAT 格式的分区里的,有些出厂预装win8 系统的电脑下将该FAT 分区称之为

ESP 分区EFI 分区如下图,ESP EFI 分区一般都是隐藏的FAT 分区,可以通过DG 分区工

具来创建ESP 分区,还可以用DG 为该分区添加盘符让其在资源管理器下显现出来

可见,UEFI+GPT 模式引导windows 系统时,并不需要mbr主引导记录,也不需要活动分区,

只需要你一个存放了引导启动文件的fat 格式分区就可以了,这个fat 分区当然也可以是U

盘等外接USB 设备了。

就目前情况而言,GPT 分区表磁盘不支持32 位的win7 以及win7 之前的系统,支持64

XPwin7win8win10 32 位的win8win10。一般地,GPT 磁盘多与64 windows

系统组合搭配。

引导修复

再来说说引导丢失、损坏导致系统无法正常进入情况下,如何通过修复引导来使系统正常

启动。

引导问题故障举例

常见的引导丢失、损坏情况说明如下:

上图, 文件有问题,可见是Legacy BIOS 引导文件出错;如果此处是

则应推测是UEFI BIOS 引导文件出错。

上图,NTLDR is missingNTLDR 文件丢失。推断为:XP NT5.x 架构操作系统引导丢失。

NTLDR 是如win 2000XPwin 2003 NT5.x 架构操作系统的启动管理器文件,与之对应的

bootmgr则是如Vistawin7/8/9/2008/2012 NT6.x 架构操作系统的启动管理器,如下图:

上图,Bootmgr is missing,推断为:win7win8 NT6.x 架构操作系统引导丢失。

引导修复

针对于以上各种引导问题给出引导修复解决方法一般地,引导修复有很多种方法,牛逼的

大神直接使用dos 命令来搞定,那么针对于我们普通用户,我推荐你先使用网络上的引导

修复工具来进行修复,等到使用熟练了,想多学习些技术,这时候再去研究dos 命令吧。

下面介绍的两种方法所涉及到NABOOT AutofixBOOTICEDG 等工具一般PE 下都会

集成的,这里就不给大家放单独的下载链接了PE 制作及使用的话,这里就不说了,记得

N N N 久以前就发过专门的教程了,如果你非要问我关于PE 的东西,请百度电脑

”“大白菜”“老毛桃等关键字。

方法一:使用NTBOOT AutoFix工具来修复引导

引导修复工具有很多,这里推荐这款工具给大家,上手简单,操作简单

如果你的系统无法正常进入,那么请到PE 下运行NTBOOT AutoFix进行修复;如果你是多

系统,其中有一个系统可以正常进入,其它系统引导丢失,那么就可以在这个正常的系统

下使用NTBOOT AutoFix进行修复,一般PE 下都会集成这个软件。

选择你的系统盘符,如下图

可以选择自动修复或手动修复自动修复:会自动检测你的所有分区,然后查找到你的分区

上已安装的系统自动进行修复手动修复:检测你所有分区,查找到你的分区上已安装的系

统,让你手动决定是否进行修复

如下图,我选择了手动修复,检测到我的G 盘安装了win10,提示我修复还是跳过,因为

我的引导正常,为了给大家演示,我选择了跳过——不修复,然后检查到我的C 盘安装了

win8.1

必须等到修复报告建立完成,才可以点击退出完成引导修复

【注意】使用该软件进行UEFI+GPT 模式系统引导修复时,需要先挂载ESP/EFI 分区,可通

DG 等工具为ESP/EFI 分区指定盘符挂载,打开NTBOOT 引导修复工具,在里面选择

ESP/EFI 分区所在盘符,修复即可

方法二:使用BOOTICE 工具来修复引导此工具不是专门用来修复引导的,其功能很是强

大,这里只讲如何借助它修复引导

这里我以修复UEFI+GPT 模式下win8 win10 双系统引导为例说明,Legacy+MBR类似运行

BOOTICE 后,切换到“BCD 编辑”,然后“新建BCD

新建

BCD,文件名为:BCD

然后

点击查看/修改

点击添加,选择“windows vista/7/2008”(这是NT6.x 架构系统,当然win8/10 也适用)

点击添加后,如下图为默认的初始BCD 内容,在此基础上,我们进行win8+win10 BCD

修改

按照下图说明进行各项修改,启动文件UEFI+GPT 启动文件,如果是修复

Legacy+MBR启动文件,此处应为

修改后,点击保存到当前系统设置,这样,win8 BCD 内容就添加完成了

接下来,我们按照上面的方法再次添加win10 BCD 信息,修改好之后,保存当前系统设

置,win10 BCD 信息就添加好了;然后再点击“保存全局设置”,这样,win8 win10

的引导信息就会保存到我们创建的这个BCD 文件中了,如下图:

创建好BCD 文件后,我们只需在PE 下将这个BCD 替换到相应的目录下就可以完成引导修

复了。上面我们是以UEFI+GPT 模式举例的,所以此处BCD 替换文件的目录为ESP/EFI 这个

fat 分区:efiMicrosoftBCD

如果是Legacy+MBR模式,若磁盘有一个隐藏的活动主分区,我们需要先给这个隐藏的主分

区添加盘符(PE 下磁盘管理添加盘符或借助DG 工具添加),然后将该BCD 文件替换到这个

活动主分区:BootBCD

方法二,同样适用于单系统BCD 文件的修改;也可以不新建BCD 文件,直接对系统中的

BCD 文件进行修改,就省去了替换BCD 的步骤,如下:

之后的步骤跟上面一样。

NABOOT AutofixBOOTICEDG 等工具一般PE 下都会集成的,这里就不给大家放单独的下

载链接了。PE 制作及使用的话,这里就不说了,记得N N N 久以前就发过专门的教程

了,如果你非要问我关于PE 的东西,请百度“电脑店”“大白菜”“老毛桃”等关键字。

最后说明下,方法二看起来要比方法一复杂了许多,但是我为什么还要费如此功夫介绍呢?

因为,通过方法二,大家会更加清楚理解UEFI+GPTLegacy+MBR引导的运行机制,这样

就可以以不变应万变了!

另外,如果你是系统折腾狂的话,通过添加修改BCD 文件,你甚至可以制作出支持UEFI

Legacy BIOS win7+win8+win10 多合一启动U 盘,从而实现一盘在手,天下我有——一个

U 盘就可以搞定多个系统的安装!