电脑互动吧

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

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

[复制链接]
发表于 2016-11-5 16:56:49 | 显示全部楼层 |阅读模式
UEFI引导修复教程
; Z+ G1 I# A  b/ Y( q! ~4 P% g. n6 C+ I+ I
当uefi引导文件损坏,或ghost还原64位系统到C盘,因无uefi引导还是不能启动系统。
8 ?% R% f; |. Y& a( V怎么修复UEFI引导呢?
! y: J* k% C8 P○、UEFI引导基本原理
4 }4 z. ?: ~; V; H( M! L1 `7 S& Z1.esp引导分区+ c" @) \  h. k- Q  {9 b" a
esp磁盘分区是gpt格式硬盘放efi引导文件的磁盘,在mbr格式硬盘中也可以由任一fat# L0 p, C6 e2 j9 t# T
格式磁盘分区代替! o7 G& P: J+ I7 [
2.efi文件结构# @3 `+ g- ?2 L
efi\boot\bootx64.efi8 {+ `! N; \+ u. ?. A5 i
efi\microsoft\boot\bcd& b2 F1 k) A% R, W, D
3.efi启动过程$ |7 [1 v9 h  [* F" J9 C- Q; o
uefi bios启动时,自动查找硬盘下esp分区的bootx64.efi,然后由bootx64.efi引导4 m& V6 M3 ]; p3 {$ [
efi下的bcd文件,由bcd引导指定系统文件(一般为c:\windows\system32\winload.efi)
& d' x3 Z# B5 O: z+ f. g. R
& E% u# i, O3 s0 V! T% x一、用bcbboot自动修复
& f+ P7 g+ w- f7 B我们建议大家启动64位8PE,用它带的bcdboot来修复。
: P0 V" w( h" F2 I  Z(一)指定esp分区修复1 G, X; a+ {7 `
环境为64位8PE,bios/uefi启动进入下都可以
* ]8 l7 b. k3 }2 a* E1.启动64位8PE,并用esp分区挂载器或diskgenuis挂载esp分区- \5 ^# E5 E! T- V- q
2.打开cmd命令行,输入以下命令并运行5 n% l' [. G7 N/ R: c2 m
bcdboot c:\windows /s o: /f uefi /l zh-cn) v  y- S5 t! j6 R! c4 W
其中:c:\windows  硬盘系统目录,根据实际情况修改& d3 u) K) e+ u! x
/s o:     指定esp分区所在磁盘,根据实际情况修改
& B2 E2 M7 s% H9 T! p! ]& R! R5 q. t/f uefi   指定启动方式为uefi
/ M  O. w9 r* O/l zh-cn  指定uefi启动界面语言为简体中文
  G2 F' W# L- h2 H6 H* e注:64位7PE不带/s参数,故7PE不支持bios启动下修复
/ X: Z  X5 d5 H; k4 T9 c# a+ I( J4 y; R/ }
(二)不指定esp分区修复  v$ p) {8 |; k/ V
环境为64位7或8PE,只有uefi启动进入PE才可以
5 E% D5 n7 @3 ^0 S& }- N不用挂载esp分区,直接在cmd命令行下执行:
* B6 M) {1 O9 [0 X0 ?4 j# g- f7 Pbcdboot c:\windows /l zh-cn
; C! u8 F0 V' Q: w0 Q3 \6 H; z( s其中 c:\windows  硬盘系统目录,根据实际情况修改
4 \9 {7 l' `8 Y6 ^, g! h/l zh-cn  指定uefi启动界面语言为简体中文9 g4 f, |9 \: c& Y7 W
注:在8PE中,我们也可以在uefi启动进入pe后,挂载esp分区用方法(一)修复4 `3 D$ K5 j# Q3 r" d! m
' _+ ~( N# U% `% y
(三)用“UEFI引导自动修复”脚本修复
. ]$ T2 h7 A4 |* y5 n这个脚本,其实就是用了8PE的bcdboot,来修复uefi引导。测试可以在2003 7 8 PE. y1 r+ p7 |7 t5 S1 H
中自动修复uefi引导。
; e* s/ ~$ D; Q5 n附件提供两套,第一套是程序版,为离弃制作;第二套是pecmd脚本版,由caocaofff制作,都相当完美。2 G' O4 G2 t' m9 z8 C

- z. ?0 ]! a2 b+ _4 X, b8 E" r
6 @2 t$ \) ^2 T& y二、用bootice手动修复
5 @2 ]+ Y. O. m% K' f从efi引导启动过程来看,虽然它的文件很多,但主要用到的就是两文件,我们完全可以在7 a0 Q# _  \* n* o1 }1 @
各pe下挂载esp分区,从硬盘系统中复制bootx64.efi文件,然后用用bootice制作好bcd,就! M4 Z& @8 [" J! v  L/ z
完成efi引导修复。1 C# _: E0 f* a7 _9 G; o
1.启动任一pe,用esp分区挂载器或diskgenuis挂载esp分区
+ Z7 q$ G9 P* n7 }5 ^* a2.查看esp分区是否可正常读写,如不正常可重新格式化为fat16分区格式。
; X; N5 v7 G+ ?8 W9 M3.在esp分区中建立如下空文件夹结构3 v/ S& n0 z4 b; {
\efi\boot\   (bootx64.efi等复制)
0 }: V1 T/ G7 N% F2 q) @* ^\efi\microsoft\boot\ (bcd等建立)
* Q1 D5 J5 n4 H  F! A4.复制硬盘系统中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分区的\efi\boot\
$ d9 b: Q5 V  v! ~6 h下,并重命名为bootx64.efi
* T/ k4 k$ ?+ Y8 Q5.打开bootice软件,有esp分区的\efi\microsoft\boot\下新建立一bcd文件,
  H0 K5 m; U* ~: ]5 {打开并编辑bcd文件,添加“windows vista\7\8启动项,% C) R7 }8 T$ l* X( e
指定磁盘为硬盘系统盘在的盘,6 @' _. S: A8 |/ Z
指定启动分区为硬盘系统分区(一般为c:)" h4 {1 O5 \( Z4 [% x9 ~8 r) o
指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来1 e* N8 _/ P/ i1 F/ \0 E/ x
最后保存当前系统设置并退出。
( W" K9 K# ]) L' v0 N( u# c9 @* _这样子,精简的UEFI引导就手工修复了,实机和虚拟机测试通过。2 Q: r. P* L) E) W- q- t
注:xpPE不能识别gpt格式的硬盘分区,用2003PE中的disk.sys替换xpPE内核中的相应文件,就
+ z! ]* l- m: L$ _1 [4 g' e可以让xpPE也能识别gpt磁盘格式分区5 G+ O* D! E- n/ U
指定启动分区不是esp分区所在分区,就是硬盘64位7 8 系统所在分区% W$ h9 C6 U$ R7 c
指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来: P% ~2 N# R$ O' o
& s3 {4 l! K- n
" q* P" X+ q- X) \
三、其它问题
8 ?3 }; }: \' U* X$ ]8 H1.手工运行ghost并不会修复esp分区
; m. [0 |& s3 P: K! A* k2.用老大们的一键还原,现在慢慢加上了还原后esp引导修复功能,如实测深山的一键还原就8 A) E$ y  f- A+ q
自带esp分区uefi引导修复2 t& r; g1 M5 x
3.用微软原版系统光盘安装或PE下安装,当然都会自动修复esp引导。+ B1 r' m0 R, q6 M0 e( H
. Y6 \9 k9 O0 ^
: g& r: i* _3 A. V! N$ C' I
无忧启动论坛 毛桃统一PE派 独剑 整理各位老大的资料并汇总,特别是参考了本区版主的视频教程,在于谢谢各位前辈大师的辛苦。' `3 g5 j, |: ]( I- r0 C
2013年11月于云南普洱, [; ]8 `( C$ p( W2 U9 p
+ O6 T" ?# d2 r7 K
附件提供两套uefi引导修复工具,第一套是程序版,为离弃制作;第二套是pecmd脚本版,由caocaofff制作,都相当完美。+ y& @8 T( {2 M. S+ [- C4 p
实测可在各PE下完美修复uefi引导。! L, l3 u. E4 q2 \# O

6 @. \* [5 G3 @: H0 f! ^7 `* ? UEFI引导修复及教程.rar (1.44 MB, 下载次数: 4174)
回复

使用道具 举报

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

本版积分规则

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

浙公网安备 33032402001025号

GMT+8, 2026-1-24 15:32 , Processed in 0.062301 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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