zds1210 发表于 2013-12-25 11:57:00

UEFI引导修复教程和工具

本帖最后由 zds1210 于 2014-6-4 23:06 编辑

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引导。


无忧启动论坛 毛桃统一PE派 独剑 整理各位老大的资料并汇总,特别是参考了本区版主的视频教程,在于谢谢各位前辈大师的辛苦。
2013年11月于云南普洱

附件提供两套uefi引导修复工具,第一套是程序版,为离弃制作;第二套是pecmd脚本版,由caocaofff制作,都相当完美。
实测可在各PE下完美修复uefi引导。






2011ibird 发表于 2013-12-26 14:08:50

收藏认真学习

风神 发表于 2013-12-25 12:14:49

学习了,好东西

zds1210 发表于 2013-12-25 12:03:54

UEFI引导自动修复 PEcmd脚本版和程序版

ESp分区UEFI引导自动修复,可在32或64位各PE/win各系统中下修复64位UEFI引导

原理:利用64位8PE的bcdboot脚本,完成对esp分区的64位系统的uefi引导自动修复。

uefix1.exe为pecmd脚本版,由无忧论坛caocaofff原创和编写改进pecmd脚本;独剑打包成exe,在包中加入新版的pecmd.exe软件,完美的解决了一些PE中因使用老九的老版pecmd.exe不能正常运行的问题。存在问题是挂载esp分区后不能自动刷新磁盘列表。

uefix2.exe为程序版,由无忧论坛离弃编程;独剑打包成exe,在包中加入03极速版中缺少的dll,完美的解决03极速版中不能运行的问题。挂载esp分区后能自动刷新磁盘列表。
系统:适合于32位或64位windows/PE(xppe、03PE、7PE和PE的x86和x64)系统。

建议:1.先运行程序的手工挂载eps分区,看eps挂载成功不;挂载esp分区如果发现不能读写,请再次格式化为fat格式。

      2.纯64位PE下不能运行uefix1.exe的话,可以解开程序包,然后由在pe中的运行"pecmd.exe load ueifx.ini"就可以运行了。
          3.纯64位PE下不能运行ueiix2.exe的话,可以解开程序包,直接运行uefix.exe可以运行了。

2012zsw 发表于 2013-12-25 18:56:37

谢谢收藏了学习

shan 发表于 2013-12-26 01:03:52

标号回复,有时间学习

explore111 发表于 2013-12-26 07:01:22

刚买了华硕电脑,重新分区后出现每次开机就自动进bios,而且bios无法识别硬盘,进pe能识别,是不是就是UEFI引导没有了?

hero8000 发表于 2013-12-26 09:32:51

好东东,支持,目前还没有机器来试验。硬盘最大也只有1T,启动还是BIOS

txh0714 发表于 2013-12-26 10:51:39

很实用的工具,收藏了。

gogo12 发表于 2013-12-26 11:15:01

最近研究了一个星期GHOST和ESP分区修复。看到这篇文章我终于明白了。感谢大神啊。还有这么好的工具!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: UEFI引导修复教程和工具