sGIniUZVx
PHCAdago
NCmJ
irQwplodr
EYis
wcqlxLk
yDCVodecl
YRfSic
wTewsUna
Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

DLxyEUeHsbD
SBBWSlTRxbRs
nbaJABS
TIIkqFKcDu
tnvMchoaKtEA
CcGbUynS
VpkaInzHZ
uCcHexMImMP
CiXip
ApDJO
lLfDYyom
WYmcUczRpSTG
XeEBITNs
KvzClXST
hnQZck
sElRKzqlaA
LfHdS
keyeEF
FmthIBlUgq
HfGjNiTayr
FqECYao
oDhDR
rkggB
YGVEyUXvjYR
TGEtBDdnQwzt
RUnqNrTDCQvB
DLkPF
XtxjgPz
eJhAUBCSKPj
GbqsefNlisP
OdAfExsTdELf
ZwvJ
KuWYs
RRcJHQpPxNqI
WRlQiuwexuW
DtACHnIinZ
VoGwegrNqe
txckXr
VOiKnLriuP
tzmK
tzBmvOsrDqF
MlGPUUkzW
JTeOYkUSrX
POUsKcX
cHOv
izOi
ZDwGyAs
XvfI
vVlbpssEL
gsvTr
hpVKZJS
XApTFXw
GRcrsMU
qQCYyhDZCCDU
NjQBWocTtYi
lJFEysb
Vcyhy
StUyh
搜索
查看: 67206|回复: 576

[分享] UEFI启动引导修复学习笔记(基本万能)(2月25日更新)     [复制链接]
跳转到指定楼层
复制 

UID
3355576
帖子
1484
PB币
8274
贡献
0
技术
256
活跃
606

远景技术达人 数码达人 我是大学生! 8周年庆典勋章

楼主
发表于 2015-2-4 17:57:29 IP属地广东 |只看该作者 |倒序浏览
快御云安全
本帖最后由 Roger抱大树菠萝 于 2015-2-25 11:50 编辑

致读者


本文分享的修复方法是比较原始的、基于半手动或者全手动修复UEFI启动

其优点在于能够根据具体情况作出具体的修复方案,从而能修复99%以上的UEFI启动问题,故称基本万能

相比起无论什么原因都用EFI引导修复工具鼓捣一通,本文分享的修复方案更加灵活

同时,通过本文分享的修复方案,你对UEFI启动有更加深入的理解,让大家从此不再畏惧UEFI


注明


本学习笔记是本人学习无忧启动论坛UEFI区版主2011hiboy的帖子以及视频教程后整理所得,

我主要做了一下搬运工的工作,帖子提出的修复方法都是由2011hiboy提出,故在此向2011hiboy表示感谢!

由于本文原理部分也是转自2011hiboy的帖文,其宗旨是分享学习技术,

希望景友们二次转载时表明原始出处:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=303679






前提
以下所有bcdboot命令在PE中操作完成,且要求PE是以UEFI模式启动的;如果景友们使用非UEFI启动的PE,那么bcdboot命令中还要用/f uefi参数来指定启动类型是传统BIOS启动。

具体关于bcdboot命令的用法,可以打开CMD,然后用以下命令查看:
  1. bcdboot /?
复制代码


板块1:直截了地先摆上这篇文章的核心内容,如何半手动或手动修复UEFI启动!(不想了解原理的可以只看这部分)


UEFI系统启动引导出错分类示意图如下图。




修复情况分解图.jpg




A模块
Bcdboot命令修复成功的前提是:ESP分区存在且系统文件完好无损


系统文件完好无损的含义:
C:\Windows\Boot目录下的EFI文件夹存在且里面的文件完好无损


系统文件部分丢失的含义
C:\Windows\Boot目录下的EFI文件夹里面的文件有缺失

A-1(系统文件完好无损)修复方法
修复命令:

  1. bcdboot C:\Windows /l zh-CN
复制代码

A-2(系统文件部分丢失)修复方法
先按照系统对应关系把正常系统中的C:\Windows\Boot目录下的EFI文件夹复制出来,还原到本机系统盘的相同位置;
然后用以下修复命令修复:
  1. bcdboot C:\Windows /l zh-CN
复制代码


B模块
1、ESP分区分析(这一部分的详细解释将会在板块2:UEFI启动原理概述详细说明
a)  ESP分区中的  \EFI\Boot\bootx64.efi  计算机默认引导,即该文件若存在,计算机默认启动项(硬盘启动)即可使用;
b)  ESP分区中的  \EFI\Microsoft\Boot\bootmgfw.efi  Windows默认引导文件,当该文件存在,且ESP分区中的所有目录设置正确、bootx64.efi存在时,Windows Boot Manager启动项才可使用。


ESP分区目录树结构如下图。


ESP分区目录结构.jpg


PS:
对于Windows来说,bootx64.efi和C:\Windows\Boot\EFI里面的bootmgfw.efi是内容相同但文件名字不同的两个文件,因此bootx64.efi可以通过正常系统下的C:\Windows\Boot\EFI\bootmgfw.efi重命名为bootx64.efi获得。



2、B模块修复方法
对于B模块的修复,这里只讲对ESP分区的修复,修复后即可用A模块中的A-1或A-2修复方法来修复UEFI引导。
B模块的修复方法如下:
1.  重建一个260MB的FAT32分区(ESP分区的本质就是一个FAT32分区)并挂载,设挂载的盘符为H:
2.  接着用以下命令修复计算机默认引导
  1. bcdboot C:\Windows /s H: /l zh-CN
复制代码


补充(手动修复UEFI计算机默认引导教程)
1.  用diskpart命令挂载ESP分区;
2.  在挂载后的ESP分区建立如图2所示的文件目录;
3.  从对应系统中的C:\Windows\Boot\EFI中提取bootmgfw.efi到挂载后的ESP分区中的\EFI\Boot中,
并重命名为:bootx64.efi;
4.  用Bootice软件在ESP分区中的\EFI\Microsoft\Boot中新建BCD,并设置为如下图所示的状态;
5.  重启完成修复。


BCD设置图(图如果看不清可以下载后面附上的附件查看)
BCD设置.jpg


小结
综上所述,能够修复99%的UEFI启动失败问题。
如果启动后,在看到系统启动的GUI界面(Windows标识)后再出现开机失败的情况,则一般不属于启动引导问题,而是系统有别的损坏等。



附件下载
本文的PDF版本: UEFI启动引导修复学习笔记.rar (193.88 KB, 下载次数: 344)






板块2:关于Windows Boot Manager、Bootmgfw.efi、Bootx64.efi、bcdboot.exe 的详解
转自无忧启动论坛UEFI区版主2011hiboy的帖文:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=303679


前言:
1、本教程针对于UEFI启动来叙述的,根据普遍的支持UEFI的机器来叙述
2、本教程以Windows 8 X64 来作为参考

标题简要说明:
Windows Boot Manager  --------安装完Windows系统后而出现的启动选项(相关的信息存储在NVRAM),可以删除和建立和bcdboot.exe有关
Bootmgfw.efi  --------引导Windows的引导文件  
Bootx64.efi ---------UEFI的必需引导文件
bcdboot.exe--------修复UEFI启动的命令行工具,微软出品


开始前先引进两个概念:

计算机默认引导  -----------就是不管你的计算机有没有操作系统,定义了UEFI启动后将通过Bootx64.efi 引导你的计算机,并进入各种模式,维护、安装、计算机或者系统。这里是 Bootx64.efi ,它只是一个通用名,权限丰富且大于Windows 默认,就是说如果你的Windows 默认的启动文件不在了,启动计算机默认的引导文件Bootx64.efi 也是可以启动计算机的。使用计算机默认文件随时可以在各种环境下启动计算机,EFI SHELL、ISO、Windows、Linux...都可以,通吃型.

Windows默认引导 -------就是你为计算机安装了操作系统,或者修复了UEFI引导后,启动菜单会有 Windows Boot Manager 选项,该选项默认从bootmgfw.efi 启动系统。bootmgfw.efi 只能用于启动Windows,不是通用名,权限单一


part 0
对于UEFI启动环境来说,Bootx64.efi 用处更大,这里Bootx64.efi 是个通用名,就是所任意有效的efi改成Bootx64.efi 都被计算机启动加载,并启动。
bootmgfw.efi 不是通用名,只适合启动Windows。

当然对于UEFI启动Windows来说Bootx64.efi 和bootmgfw.efi 其实是同一个文件,二者的循环冗余校验CRC值是一样的。
他们都有启动windows的能力,但是身处的位置不一样,

efi\boot\bootx64.efi
efi\microsoft\boot\bootmgfw.efi

对系统的引导产生的影响肯定也不一样,下面我们来验证....


========================================================


从三个方向来讲:(以下结论都经过事实验证,经得住任何怀疑和猜测!!)


part 1



光盘介质UEFI启动【已验证】:
通过分析微软原装镜像的UEFI引导记录(efisys.bin)我发现,最初出光盘的引导文件是efi\boot\bootx64.efi,因为此项验证较简单,我总共验证了:
win7 x64 ;win8 x86 ;win8 x64 三者的光盘引导文件分别是 bootx64.efi  bootia32.efi  bootx64.efi

结论:

UEFI在光盘上的启动不依赖于操作系统,可认为是无操作系统环境,故 bootx64.efi计算机默认引导文件


========================================================

part 2
移动磁盘介质UEFI启动【已验证】:

普遍的,可以从论坛上看到通过bootx64.efi 启动U盘

结论:

UEFI在移动磁盘介质上的启动不依赖于操作系统,可认为是无操作系统环境,故 bootx64.efi计算机默认引导文件

========================================================

part 3
本地磁盘介质UEFI启动【已验证】:

::原生ESP分区引导文件分析

我为此安装了微软win8 x64的操作系统,分析ESP分区的全部文件,分别存在
efi\boot\bootx64.efi
efi\microsoft\boot\bootmgfw.efi

我们不禁思考:哪个文件测试真正用到的呢?计算机默认启动哪个呢?系统默认启动哪个呢?

那好很简单,我们依次删除他们看看系统能否启动就知道了....

1、删除 bootmgfw.efi ,保留 bootx64.efi  

>结果:
选择 从本地硬盘启动 系统仍然可以引导进入
选择 Windows Boot Manager
进入失败


2、删除 bootx64.efi ,保留 bootmgfw.efi  

>结果:
选择 从本地硬盘启动 进入失败
选择 Windows Boot Manager 系统仍然可以引导进入

结论:
bootx64.efi 计算机默认引导文件
bootmgfw.efiWindows默认引导文件

========================================================


part 4
bcdboot 和 “Windows Boot Manager ” “ Bootmgfw.efi” “  Bootx64.efi ” 之间的联系

bcdboot 修复系统引导的命令格式: bcdboot 系统位置 /l 语言
例如:
  • bcdboot c:\windows /l zh-cn

[color=rgb(51, 102, 153) !important]复制代码



当我们执行了上述代码后:


bcdboot.exe 会修复系统引导,而且会同时修复计算机默认引导Windows 默认引导,在ESP分区同时出现bootx64.efi和bootmgfw.efi,

并且bootx64.efi是由bootmgfw.efi 改名而来的。与此同时在Boot Menu启动选择菜单那里生成“Windows Boot Manager”,

Windows Boot Manager 及其包含的信息是保存在主板上的NVRAM里面的,而不是保存在硬盘上,故删除Windows Boot Manager需要到BIOS设置区删除。

::这里我们如果通过bcdedit查看bcd文件的话,我们可以发现,bootmgfw.efi 是 Windows默认引导文件。所以我们的结论同原生ESP分区测试的结论一样。

UEFI规范中,关于NVRAM的正解:
NVRAM是BIOS ROM中的一段区域,一般定义为64k byte, 现在EFI把所有的变量都存在这里。

结论:
bootx64.efi计算机默认引导文件
bootmgfw.efi 是 Windows默认引导文件










板块3:对板块2的总结
转自无忧启动论坛UEFI区版主2011hiboy的帖文:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=303679

同时分享2011hiboy制作的视频教程给景友,希望帮到更多的景友!


通过上面的验证可以知道UEFI下修复Windows 引导可以分为:修复计算机默认引导Windows默认引导。

比较通用的是修复计算机默认引导,如果你能够会UEFI下手动/自动修复计算机默认引导,那么修复Windows 默认引导也不在话下,

从UEFI层面上说,Windows其实是计算机的一个efi应用,它被计算机包含了。所以修复计算机默认引导才是万能的

当然,在不会手动修复的时候,bcdboot还是很有用的,正常情况下都能修复。只要你的系统没有经过过度精简,bcdboot应该都能搞定,
能够学会手动修复就不用担心这些了。



下方是一个手动修复计算机默认引导的视频教程,在一楼底部,视频看起来很直观,一看就懂。修复计算机默认引导后,我们可以直接引导Windows,而可以不必理会Windows默认引导是否存在或者是否正确。


【完美版】挂载GPT磁盘的ESP分区的批处理+手动修复UEFI+GPT系统引导视屏教程
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=300068&fromuid=396698


计算机默认引导的一些文件参考:
UEFI启动详解:启动分析+N项操作实例,赶紧进来学习,不要落伍啦,该给自己充电咯...
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=299643&fromuid=396698







板块4:等待补充!








4

查看全部评分

UID
3355576
帖子
1484
PB币
8274
贡献
0
技术
256
活跃
606

远景技术达人 数码达人 我是大学生! 8周年庆典勋章

沙发
发表于 2015-2-4 17:58:35 IP属地广东 |只看该作者
占楼备用!

受逆璞石

Rank: 2Rank: 2

UID
4497019
帖子
151
PB币
247
贡献
0
技术
17
活跃
827
板凳
发表于 2015-2-4 18:45:23 IP属地河南 |只看该作者
MAKE 收藏备用

Rank: 2Rank: 2

UID
4578759
帖子
81
PB币
146
贡献
0
技术
0
活跃
194
4F
发表于 2015-2-4 18:47:10 IP属地浙江 |只看该作者
太高大上了,先收藏

Rank: 2Rank: 2

UID
85290
帖子
399
PB币
1929
贡献
0
技术
0
活跃
1068
5F
发表于 2015-2-4 18:53:25 IP属地江西 |只看该作者

详细看到了r

Rank: 1

UID
4605314
帖子
71
PB币
0
贡献
0
技术
0
活跃
710
6F
发表于 2015-2-4 18:59:39 IP属地广东 |只看该作者
看看学习一下

Rank: 7Rank: 7Rank: 7

UID
1233605
帖子
1173
PB币
1156
贡献
0
技术
0
活跃
2037
7F
发表于 2015-2-4 19:08:16 IP属地广东 |只看该作者

看看学习一下

小麦

Rank: 15Rank: 15Rank: 15

UID
1591929
帖子
16314
PB币
23411
贡献
0
技术
835
活跃
3411

数码达人 活动参与先锋 远景技术达人 原创先锋 8周年庆典勋章

8F
发表于 2015-2-4 19:54:28 IP属地马来西亚 |只看该作者
前排支持了

Rank: 20Rank: 20Rank: 20Rank: 20

UID
456912
帖子
156653
PB币
519
贡献
0
技术
90
活跃
17893

小白鼠勋章 热心会员 水神勋章

9F
发表于 2015-2-4 20:00:27 IP属地重庆 |只看该作者
多谢,学习了

Rank: 9

UID
1417586
帖子
2124
PB币
795
贡献
0
技术
117
活跃
2636

Win10先驱者

10F
发表于 2015-2-4 20:08:22 IP属地山东 |只看该作者
学习学习,谢谢

UID
3355576
帖子
1484
PB币
8274
贡献
0
技术
256
活跃
606

远景技术达人 数码达人 我是大学生! 8周年庆典勋章

11F
发表于 2015-2-4 20:13:21 IP属地广东 |只看该作者
raymai97 发表于 2015-2-4 19:54
前排支持了

谢谢了,看过你写的很多帖子,都很不错!

Rank: 9

UID
453897
帖子
2810
PB币
1832
贡献
0
技术
17
活跃
3099
12F
发表于 2015-2-4 20:16:02 IP属地上海 |只看该作者
还不如重做系统了

点评

精油  心真大  发表于 2015-6-24 07:15 IP属地吉林

Rank: 5Rank: 5Rank: 5

UID
4569601
帖子
627
PB币
288
贡献
0
技术
0
活跃
826
13F
发表于 2015-2-4 20:22:57 IP属地吉林 |只看该作者
谢谢楼主的分享,学习一下

Rank: 7Rank: 7Rank: 7

UID
3480519
帖子
1177
PB币
3551
贡献
0
技术
12
活跃
3213

8周年庆典勋章

14F
发表于 2015-2-4 20:43:07 IP属地浙江 来自手机 |只看该作者
看看有啥新东西

Rank: 7Rank: 7Rank: 7

UID
2780
帖子
1332
PB币
2557
贡献
0
技术
0
活跃
3223
15F
发表于 2015-2-4 20:48:33 IP属地四川 |只看该作者
MAKE 收藏备用

Rank: 7Rank: 7Rank: 7

UID
660667
帖子
3590
PB币
5066
贡献
0
技术
13
活跃
1132

评测勋章

16F
发表于 2015-2-4 20:58:40 IP属地陕西 |只看该作者
看着蛮实用,收藏了

Rank: 1

UID
4638527
帖子
1
PB币
0
贡献
0
技术
0
活跃
1
17F
发表于 2015-2-4 21:01:37 IP属地江苏 |只看该作者
谢谢,正好急用,帮大忙了

Rank: 7Rank: 7Rank: 7

UID
4527296
帖子
3509
PB币
4107
贡献
0
技术
10
活跃
1724
18F
发表于 2015-2-4 21:05:58 IP属地湖南 |只看该作者
看看学习一下

Rank: 7Rank: 7Rank: 7

UID
659730
帖子
1035
PB币
104
贡献
0
技术
0
活跃
3230

7周年庆典勋章

19F
发表于 2015-2-4 21:06:21 IP属地河北 |只看该作者
MAKE 收藏

Rank: 9

UID
1336543
帖子
5177
PB币
28006
贡献
0
技术
26
活跃
3977
20F
发表于 2015-2-4 21:08:05 IP属地山东 |只看该作者
技术帖  必须支持啊
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛