UEFI引导修复教程和工具

UEFI引导修复教程和工具


1. MBR分区表:Master Boot Record,即硬盘主引导记录分区表,只支持容量在 2.1TB 以下的硬盘,超过2.1TB的硬盘只能 

管理2.1TB,最多只支持4个主分区或三个主分区和一个扩展分区,扩展分区下可以有多个逻辑分区。 

2. GPT分区表:GPT,全局唯一标识分区表(GUID Partition Table),与MBR最大4个分区表项的限制相比,GPT对分区数量没有

限制,但Windows最大仅支持128个GPT分区,GPT可管理硬盘大小达到了18EB。只有基于UEFI平台的主板才支持GPT 分区引导启动。 

3. ESP分区:EFI system partition,该分区用于采用了EFI BIOS的电脑系统,用来启动操作系统。分区内存放引导管理程序、 

驱动程序、系统维护工具等。如果电脑采用了EFI系统,或当前磁盘用于在EFI平台上启动操作系统,则应建议ESP分区。4. MSR分区:即微软保留分区,是GPT磁盘上用于保留空间以备用的分区,例如在将磁盘转换为动态磁盘时需要使用这些 

分区空间。 

5. SECURE BOOT功能:Windows 8中增加了一个新的安全功能,Secure Boot内置于UEFI BIOS中,用来对抗感染MBR、BIOS的恶 

意软件,  Windows 8 缺省将使用Secure Boot,在启动过程中,任何要加载的模块必须签名(强制的),UEFI固件会进行验证, 没有签名或者无法验证的,将不会加载。




UEFI引导修复教程


当uefi引导文件损坏,或ghost还原64位系统到C盘,因无uefi引导还是不能启动系统。

怎么修复UEFI引导呢?

○、UEFI引导基本原理

1.esp引导分区

esp磁盘分区是gpt格式硬盘放efi引导文件的磁盘,在mbr格式硬盘中也可以由任一fat

格式磁盘分区代替

2.efi文件结构

efi\boot\bootx64.efi

efi\microsoft\boot\bcd

3.efi启动过程

uefi bios启动时,自动查找硬盘下esp分区的bootx64.efi,然后由bootx64.efi引导

efi下的bcd文件,由bcd引导指定系统文件(一般为c:\windows\system32\winload.efi)


一、用bcbboot自动修复

我们建议大家启动64位8PE,用它带的bcdboot来修复。

(一)指定esp分区修复

环境为64位8PE,bios/uefi启动进入下都可以

1.启动64位8PE,并用esp分区挂载器或diskgenuis挂载esp分区

2.打开cmd命令行,输入以下命令并运行

bcdboot c:\windows /s o: /f uefi /l zh-cn

其中:c:\windows  硬盘系统目录,根据实际情况修改

/s o:     指定esp分区所在磁盘,根据实际情况修改

/f uefi   指定启动方式为uefi

/l zh-cn  指定uefi启动界面语言为简体中文

注:64位7PE不带/s参数,故7PE不支持bios启动下修复


(二)不指定esp分区修复

环境为64位7或8PE,只有uefi启动进入PE才可以

不用挂载esp分区,直接在cmd命令行下执行:

bcdboot c:\windows /l zh-cn

其中 c:\windows  硬盘系统目录,根据实际情况修改

/l zh-cn  指定uefi启动界面语言为简体中文

注:在8PE中,我们也可以在uefi启动进入pe后,挂载esp分区用方法(一)修复


(三)用“UEFI引导自动修复”脚本修复

这个脚本,其实就是用了8PE的bcdboot,来修复uefi引导。测试可以在2003 7 8 PE

中自动修复uefi引导。

附件提供两套,第一套是程序版,为离弃制作;第二套是pecmd脚本版,由caocaofff制作,都相当完美。



二、用bootice手动修复

从efi引导启动过程来看,虽然它的文件很多,但主要用到的就是两文件,我们完全可以在

各pe下挂载esp分区,从硬盘系统中复制bootx64.efi文件,然后用用bootice制作好bcd,就

完成efi引导修复。

1.启动任一pe,用esp分区挂载器或diskgenuis挂载esp分区

2.查看esp分区是否可正常读写,如不正常可重新格式化为fat16分区格式。

3.在esp分区中建立如下空文件夹结构

\efi\boot\   (bootx64.efi等复制)

\efi\microsoft\boot\ (bcd等建立)

4.复制硬盘系统中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分区的\efi\boot\

下,并重命名为bootx64.efi

5.打开bootice软件,有esp分区的\efi\microsoft\boot\下新建立一bcd文件,

打开并编辑bcd文件,添加“windows vista\7\8启动项,

指定磁盘为硬盘系统盘在的盘,

指定启动分区为硬盘系统分区(一般为c:)

指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来

最后保存当前系统设置并退出。

这样子,精简的UEFI引导就手工修复了,实机和虚拟机测试通过。

注:xpPE不能识别gpt格式的硬盘分区,用2003PE中的disk.sys替换xpPE内核中的相应文件,就

可以让xpPE也能识别gpt磁盘格式分区

指定启动分区不是esp分区所在分区,就是硬盘64位7 8 系统所在分区

指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来



三、其它问题

1.手工运行ghost并不会修复esp分区

2.用老大们的一键还原,现在慢慢加上了还原后esp引导修复功能,如实测深山的一键还原就自带esp分区uefi引导修复

3.用微软原版系统光盘安装或PE下安装,当然都会自动修复esp引导。




备注:手工设置ESP分区类型


sele par *

set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"


gpt attributes=0x8000000000000001


PS. 用DiskGenius转换GPT可以自动创建ESP


现在注册,即刻畅享专业桌面虚拟化解决方案 立即注册