麦创网

发表于 13/12/22 13:24:53 |显示全部楼层
面内容经过本人验证,实体机验证,通过 而得来。
此方法主要参考WinPE制作而来,至于BIOS和UEFI文件由来,我就不透露了,自行度娘。
首先下载附件:
1、解压附件
2、进入附件目录对MakeIso.bat进行编辑。
3、MakeIso.bat你会发现下面名字和内容:
Windows8.1_X64_RTM_9600:MakeIso.bat镜像名称
E:\MadeWindowsISO\BIOS.bin:BIOS路径(PS:E:\MadeWindowsISO为你的路径,按实际情况修改)
E:\MadeWindowsISO\UEFI.bin:UEFI路径(PS:E:\MadeWindowsISO为你的路径,按实际情况修改)
E:\winpe\ISO:散装Win文件一共8个。4个文件夹。1个 ini。1个不知名文件,1个EFI文件,一个exe文件。
E:\MadeWindowsISO\Windows8.1_RTM_9600.ISO:(封装后的文件路径及名字)
4、修改完毕然后保存。
5、运行MakeIso.bat等待完毕即可。
原理,提取Windows的PE盘的UEFI和BIOS来制作的,
理由有这么几点,PE作为系统基层系统相比他的UEFI和BIOS支持所有PC和移动本。
第二,UEFI和BIOS制作引导作用,不对系统有任何影响。
--------------------------------------------------------------------------------------
本方法已经实体机验证。
---------------------------------------------------------------------------------------
以下为引导文件分析(纯复制+粘贴)
通过分析三种系统,分别E通过FI引导文件为
[color=rgb(68, 68, 68) !important]win7
x64 ;bootx64.efi  
[color=rgb(68, 68, 68) !important]win8 x86 ;bootia32.efi  
win8 x64 ;bootx64.efi
前言:
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,不是通用名,
权限单一




========================================================
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

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


从三个方向来讲:(以下结论都经过事实验证,经得住任何怀疑和猜测!!)
========================================================
1、光盘介质UEFI启动【已验证】:

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

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

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

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

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

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.efi 是 Windows默认引导文件



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

bcdboot 修复系统引导的命令格式: bcdboot 系统位置 /l 语言

例:


  • bcdboot c:\windows /l zh-cn


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

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默认引导文件


最后:
写这篇帖子最主要的原因,是能够让那些不是很明白Bootx64.efiBootmgfw.efi区别的、或者模糊知道的朋友,清楚了解二者之间的关联以及区别不要再有 Bootx64.efi就是Bootmgfw.efi改名而来的、Bootx64.efi就是Bootmgfw.efi
像这些不正确的说法,以免误导后来的朋友.....
准确的说:“Bootx64.efi 可以是 Bootmgfw.efi,也可以是其他任意有效的efi程序


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

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

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

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



该贴已经同步到 admin的微博

打赏楼主

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

 

发表于 14/8/5 16:27:02 |显示全部楼层
有点复杂的多!
 
您需要登录后才可以回帖 登录 | 注册

本版积分规则

麦创网 ( 苏ICP备13053101号-1 )

@麦创网 禁止任何未经允许的修改,传播或使用。

Powered by Discuz!

©2012 @ iMac.vip. 用户言论不代表本站立场。

返回顶部