电脑互动吧

 找回密码
 注册
查看: 10355|回复: 0

[技术资讯] UEFI引导修复教程和工具

[复制链接]
发表于 2016-11-5 16:56:49 | 显示全部楼层 |阅读模式
UEFI引导修复教程
* C' V# L5 Z! T. p, O' u+ u( {
$ G) p' d- C0 F) M( a当uefi引导文件损坏,或ghost还原64位系统到C盘,因无uefi引导还是不能启动系统。" d: c8 z, x) K; _6 j
怎么修复UEFI引导呢?
8 ]$ O0 \7 o' ~7 z○、UEFI引导基本原理
4 j* y+ n5 ~3 U: x8 v0 o1.esp引导分区! y. d! C' O/ z0 w
esp磁盘分区是gpt格式硬盘放efi引导文件的磁盘,在mbr格式硬盘中也可以由任一fat+ g" p* w. G. P6 c8 n
格式磁盘分区代替+ o. g7 {' A& ~# P
2.efi文件结构
9 O) m; Z' Q' xefi\boot\bootx64.efi
3 D6 O5 B1 ^- `# H' l" t4 Uefi\microsoft\boot\bcd3 H2 Z4 |- x. s/ R8 v
3.efi启动过程, w/ q% H# m: v3 J" y
uefi bios启动时,自动查找硬盘下esp分区的bootx64.efi,然后由bootx64.efi引导
; F3 n- Q, Q1 cefi下的bcd文件,由bcd引导指定系统文件(一般为c:\windows\system32\winload.efi)
% x% d8 `' |% ]4 W. _$ ~9 h2 {! p% s  e: l6 B
一、用bcbboot自动修复
7 r$ O- g" r' K( ~我们建议大家启动64位8PE,用它带的bcdboot来修复。, V; \: i2 e" q$ o3 S
(一)指定esp分区修复
( u# k1 A- L0 S% s: e环境为64位8PE,bios/uefi启动进入下都可以( k, G6 e% z2 ~0 g4 Q4 I$ j
1.启动64位8PE,并用esp分区挂载器或diskgenuis挂载esp分区
: A( c6 m9 L8 Q& i! V( S7 [# O2.打开cmd命令行,输入以下命令并运行# G6 P% ?  x; _7 U
bcdboot c:\windows /s o: /f uefi /l zh-cn
- J4 D* h' U/ w其中:c:\windows  硬盘系统目录,根据实际情况修改" @1 V, @) {  e8 w, C6 f
/s o:     指定esp分区所在磁盘,根据实际情况修改( E: M! l/ J# T. t: ]
/f uefi   指定启动方式为uefi
, r" h6 l, L# I9 E( g, D& t1 u/l zh-cn  指定uefi启动界面语言为简体中文
, {( `0 a% x, i- r- _注:64位7PE不带/s参数,故7PE不支持bios启动下修复$ q! p2 A. f3 S* e

7 r0 r9 V& X/ v- S2 Z, F(二)不指定esp分区修复- ~" o: N' O1 K. }% r1 p
环境为64位7或8PE,只有uefi启动进入PE才可以
7 V2 I. ^: T/ K# e, g6 b不用挂载esp分区,直接在cmd命令行下执行:
: R5 \- O3 R  dbcdboot c:\windows /l zh-cn- K! ~0 K0 p# s3 |
其中 c:\windows  硬盘系统目录,根据实际情况修改
; F0 w6 r# I# n2 q9 `2 q" y/l zh-cn  指定uefi启动界面语言为简体中文
1 `4 ^$ h* X- o6 ^8 T3 |. s注:在8PE中,我们也可以在uefi启动进入pe后,挂载esp分区用方法(一)修复
; h0 U' ^: ]6 O6 o: Y8 x7 c* U& l/ T+ n
(三)用“UEFI引导自动修复”脚本修复7 J! ]* u3 B) ~; ]2 H0 |- `+ l
这个脚本,其实就是用了8PE的bcdboot,来修复uefi引导。测试可以在2003 7 8 PE
/ V* C6 h3 a7 E& D中自动修复uefi引导。
3 N  K2 w% N  T1 [% ?6 \( W' p附件提供两套,第一套是程序版,为离弃制作;第二套是pecmd脚本版,由caocaofff制作,都相当完美。: \4 ]" E6 T2 }5 a. Z8 [0 D
/ n, E" \' Y2 ]8 H; J4 }

/ F0 g* U9 L, ], V二、用bootice手动修复
; j  |, u# t( i$ F从efi引导启动过程来看,虽然它的文件很多,但主要用到的就是两文件,我们完全可以在
# K& E& G( j1 k5 f1 O各pe下挂载esp分区,从硬盘系统中复制bootx64.efi文件,然后用用bootice制作好bcd,就
2 c# x' a8 p; P7 p- n$ D完成efi引导修复。& A8 P2 s. |9 g9 B% T( Z, s
1.启动任一pe,用esp分区挂载器或diskgenuis挂载esp分区
& T4 A% f3 w. I9 \% p2.查看esp分区是否可正常读写,如不正常可重新格式化为fat16分区格式。
. p1 w$ E2 S- b$ @  o3.在esp分区中建立如下空文件夹结构# ^* U" |  T) q8 b( |4 h  B- \
\efi\boot\   (bootx64.efi等复制)# H9 K, k+ d: S; _: E0 e- g! Q: N
\efi\microsoft\boot\ (bcd等建立)
3 i) Z2 S) \4 `: T4.复制硬盘系统中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分区的\efi\boot\) e8 C* Y! T4 B9 ]# P
下,并重命名为bootx64.efi4 ?! S6 G* q0 J
5.打开bootice软件,有esp分区的\efi\microsoft\boot\下新建立一bcd文件,% D; O; z/ R7 F# V
打开并编辑bcd文件,添加“windows vista\7\8启动项,5 Q0 p1 v; y) Q5 P9 H8 N
指定磁盘为硬盘系统盘在的盘,
: O1 l" @( |" ?- S指定启动分区为硬盘系统分区(一般为c:)
0 O- L) q! O6 G指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来
6 m- [! m) Z8 N; e- o# _0 F最后保存当前系统设置并退出。# n* R4 K/ X/ m2 b6 F. L5 U
这样子,精简的UEFI引导就手工修复了,实机和虚拟机测试通过。
: ~' }- x' @6 }( e: @注:xpPE不能识别gpt格式的硬盘分区,用2003PE中的disk.sys替换xpPE内核中的相应文件,就
0 O3 s5 A' M' b- D1 ^4 K6 x可以让xpPE也能识别gpt磁盘格式分区/ h9 ^( d: D! u" V
指定启动分区不是esp分区所在分区,就是硬盘64位7 8 系统所在分区( i2 \+ P' z$ H. N
指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来
5 ?1 y" o: W7 Y$ i
; U/ l# K5 N& p7 {" h. m- `8 j8 ^/ _0 ?9 E' T: g0 g
三、其它问题
5 ^6 @  I& g, J/ r5 _2 T, r/ C% H# W1.手工运行ghost并不会修复esp分区
3 |7 |. v/ f, P  P2.用老大们的一键还原,现在慢慢加上了还原后esp引导修复功能,如实测深山的一键还原就1 l: o* f5 h8 O6 X% `% D7 A
自带esp分区uefi引导修复
" }9 {$ h2 W8 K2 b4 ^$ w3.用微软原版系统光盘安装或PE下安装,当然都会自动修复esp引导。' @) K, Y$ U! ~
" m% x; I/ c% F, }

; }7 A7 c/ ?3 M& T无忧启动论坛 毛桃统一PE派 独剑 整理各位老大的资料并汇总,特别是参考了本区版主的视频教程,在于谢谢各位前辈大师的辛苦。
3 R) b( k( e9 H2013年11月于云南普洱! T6 R$ ]$ Z* p' S8 B6 j# x
) m, q6 Q" n! }6 I6 Q- N0 a
附件提供两套uefi引导修复工具,第一套是程序版,为离弃制作;第二套是pecmd脚本版,由caocaofff制作,都相当完美。* P& w  i4 M* H% V$ o6 z
实测可在各PE下完美修复uefi引导。
% X& @6 X4 l7 [* U( Q' w; f6 r! N" M3 \8 R" z. d, ^
UEFI引导修复及教程.rar (1.44 MB, 下载次数: 3417)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系我们|手机版|小黑屋|Archiver|电脑互动吧 ( 浙ICP备13037409号 )

浙公网安备 33032402001025号

GMT+8, 2025-5-13 01:38 , Processed in 0.073856 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表