这是本文的全部内容:
A:什么是UEFI,其含义
B:UEFI模块包含的文件逐个分析及其引导流程+ESP分区的本质
C:判断自己的机器是X64(64 bit)构架还是IA32(32 bit)的构架
D:给传统BIOS下的合盘添加UEFI模块支持+制作BIOS / UEFI(IA32+X64)
E:给Win8 x86;Win8 x64 的PE添加UEFI启动支持
F:给VMware虚拟机开启UEFI,当没有物理硬件支持的情况下,不错的选择哦。
G:UEFI+GPT系统安装方法+PE开机自动给ESP分区分配盘符
H:MBR/GPT磁盘转换
I:EFI SHELL 说明及下载(新增光盘版EFI Shell)

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

A:什么是UEFI,其含义 点击阅读
============================================
B: 
UEFI模块包含的文件逐个分析及其引导流程

★ -----------------对于UEFI启动本身来说,这些文件是必需的
▲----------------- 对于传统BIOS引导光盘来说,这些文件是制作时必需的
▲----------------- 对于传统BIOS引导光盘来说,这些文件是引导时必需的
◆ -----------------对于UEFI引导光盘来说,这些文件是制作时必需的
◆ -----------------对于UEFI引导光盘来说,这些文件是引导时必需的
UEFI_MS必需-------------在磁盘介质上,通过UEFI启动系统,这些文件是必需的

=======================================
UEFI 全中文版支持模块 UEFI_Support.PMF 到D部分下载
=======================================
UEFI_Support.PMF 用Diskgenius 4.20及以上恢复到磁盘时,这些文件意义和用途:

(本说明用法:你需要查询某个文件的用处,直接找那个文件;或者你需要做什么,从上方认识标示,从本说明标示入手)

根目录
├─boot --------------------------------启动文件目录 UEFI_MS必需 + ▲
│ │ BCD --------------------------------传统BIOS启动所需BCD菜单文件 ▲
│ │ boot.sdi --------------------------------UEFI/BIOS启动都需要 UEFI_MS必需 + ▲+ ◆
│ ├─fonts --------------------------------传统BIOS启动字体文件目录(不影响启动) 
│ │ chs_boot.ttf
│ │ wgl4_boot.ttf
│ └─zh-cn --------------------------------传统BIOS启动中文显示用的目录(不影响启动)
│ bootmgr.exe.mui
├─efi--------------------------------UEFI启动目录 ★ + UEFI_MS必需 + ◆
│ ├─zh-cn --------------------------------UEFI启动中文显示用的目录(不影响启动)
│ │ bootia32.efi.mui
│ │ bootx64.efi.mui
│ ├─boot--------------------------------UEFI启动文件目录 ★ + UEFI_MS必需 + ◆
│ │ bootia32.efi--------------------------------IA32构架的启动文件 ★ + UEFI_MS必需 + ◆
│ │ bootx64.efi--------------------------------X64构架的启动文件 ★ + UEFI_MS必需 + ◆
│ └─microsoft-------------------------------UEFI启动目录 UEFI_MS必需 + ◆
│ ├─fonts --------------------------------UEFI启动中文字体文件目录(不影响启动) 
│ │ chs_boot.ttf
│ │ wgl4_boot.ttf
│ └─boot---------------------------------UEFI启动菜单目录 UEFI_MS必需 + ◆
│ BCD-------------------------------UEFI启动菜单 UEFI_MS必需 + ◆
│ 
│─MBR.bin ------------------------制作传统BIOS下的启动光盘上时的引导记录,负责引导Bootmgr,适合x64+x86 ▲
│─bootmgr -----------------------传统BIOS下的启动光盘的引导文件,适合x64+x86 ▲
│─UEFI_ALL.BIN-----------------制作UEFi启动光盘上时的引导记录(已处理),可以同时支持引导IA32+X64构架,直接读取\efi\microsoft\boot\bcd ◆
│─winpe_x86.wim --------------------------------适合IA32构架的winPE,目前仅有Win8 x86 UEFI_MS必需 +▲+ ◆
└─winpe_x64.wim --------------------------------适合X64构架的winPE,目前有Win7/8 x64 UEFI_MS必需+ ▲+ ◆

==========================================
然后来说UEFI启动Windows 的简要流程:
==========================================
---->>电脑开机(假设已经设置了UEFI为打开)

---->>启动模块根据启动项顺序依次查找所有
(FAT分区):\efi\boot\bootia32.efi(IA32构架的启动文件)
或者
(FAT分区):\efi\boot\bootx64.efi(X64构架的启动文件)
---->>加载\efi\microsoft\BCD 启动菜单文件

---->>按照BCD里面的内容进一步启动,整个过程和传统的BIOS相比,没有引导记录的参与,不错不错

提示:
以上的bootia32.efi,bootx64.efi 都是一个efi应用,不同的是使用在IA32或者X64构架下。你可以选择任意一个efi应用文件,然后改名替代上面的文件。

这里加载\efi\microsoft\BCD 启动菜单文件是因为当前的efi文件的内容是微软写的,efi内容下一步就指向\efi\microsoft\BCD

我们当然可以创建一个abc.efi,然后改名,bootx64.efi 或者bootia32.efi,让UEFI开机的时候加载,

然而你可以让你自己写的abc.efi指向某个目录的某个CFG文件这都随你愿意,从而实现调用......

为了证实这一点,我下载了EFI SHELL然后将Shell.efi改名为bootx64.efi,再在X64构架的物理计算机和虚拟机上,进行启动...

得出的结论是正确的。这是我做好的EFI SHELL文件请到I模块看说明及下载使用.。
=========================================
 ESP分区的本质
=========================================
ESP:
EFI System Partition
它是当我们首次为GPT磁盘分区时会提示建立的,对于UEFI启动来说,ESP分区不是必需的,但是一个FAT分区确是必须的

ESP的本质是一个FAT分区,只不过分区程序在给GPT磁盘分区的时候提醒你建立ESP,并且你同意了,那么程序将建立一个指定大小的FAT分区,
并且命名为"ESP",从这里我们可以看出 ESP分区可以用任意位置的任意大小的任意FAT分区代替。

有网友会问,如果存在多个磁盘,每个磁盘上存在多个FAT分区,怎么算:
这么算:多个磁盘根据设定的磁盘启动顺序依次启动查找FAT分区
每个磁盘多个FAT分区,那么谁在前,谁有正确的引导资料就引导谁

注:以上结论本人已经测试成功,非凭空臆想

ESP分区不可见:它是一个特殊的FAT分区,当然能够被任何FAT分区代替,它的特殊性在于,每次关机重启后,ESP分区的状态
总会变成不可见,这不是设置隐藏属性,因为ESP没有任何隐藏属性,更加类似于开机过程中系统将ESP的盘符删除了,
让人不能在计算机直接访问 (G部分有解决方案)

注释:

比如我的电脑是X64构架的(物理决定),我的UEFI启动文件只能是(FAT分区):\efi\boot\bootx64.efi,

而如果没有bootx64.efi文件存在的话,UEFI就启动失败,即使存在bootia32.efi,也没用因为那是IA32构架的电脑使用的

X64构架的电脑使用不了,即使改名,也会因为下一步读取BCD进一步启动因为和winload.efi不匹配而失败。

同理IA32构架的电脑只能使用bootia32.efi。

其实换句话说,X64构架的电脑在UEFI模式下应该是无法使用Win8 x86的系统和PE的,IA32在UEFI模式下也同样无法使用Win7/8 x64的系统和PE

只有在BIOS模式下X64.IA32才可以,任意使用Win7/8 x86/x64.

联系起以后大内存以及X64的普及,那么以后的电脑基本都是X64的物理构架,IA32的构架将会很少,

也只有早期的电脑存在IA32构架了吧,至少我的RC510是2011年买的是X64构架.....

==================================================
C:
判断自己的机器是X64(64 bit)构架还是IA32(32 bit)的构架
1、首先,现在买的机器预装Win8的大概都是X64构架了吧。我的电脑2011年买的也是X64构架,我想以后都是X64了。。

2、老机器但是能够支持UEFI的,那么请按照下面的D内容做一个支持UEFI启动的盘,可以先不要WIM。

猜测:大部分机器都是X64构架的....

然后,依次:

仅保留\efi\boot\bootia32.efi ,如果能够出现如下方所示的启动管理界面图。那么你的机器是IA32构架的。

仅保留\efi\boot\bootx64.ef,如果能够出现如下方所示的启动管理界面图。那么你的机器是X64构架的。

启动管理界面:

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

D: 
给传统BIOS下的合盘添加UEFI模块支持

该UEFI支持模块论坛上有的,我的是自己提取自Win8安装盘的,大家也可以自行根据我第二部分的文件说明提取,该支持模块的文件格式是PMF格式,我为了方便使用做成这样

BIOS/UEFI 全中文版支持模块 UEFI_Support.PMF

使用说明:
打开Diskgenius 4.3专业版 或者更高版本,选择分区,右击,从文件恢复分区--->选择PMF文件--->点击开始。恢复完毕后,分区格式啥的都已经设置完毕了,直接就可以支持UEFI启动了。

注:模板里面的WIM文件是空的,大家自行备齐吧(注意需要PE支持UEFI启动)楼主我没有着手DIY趁手的Win8PE。我暂时用的别人现成的。

当你准备齐全所有的WIM文件后,你的U盘就可以进入UEFI PE启动了,此时你可以使用 Diskgenius 4.3专业版 打包整个分区到PMF以后备用,或者随便你。

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

再谈讲UEFI启动支持模块增加到UD合盘

这个也不难,一句话就是将上面已经做好的,可以支持UEFI启动的盘,使用Diskgenius 4.3专业版克隆到你的UD合盘任意一个分区,或者直接将PMF恢复到该分区也可以。

看图文教程:
现有分区:

新建尾部分区
右击现有分区,点击新建分区

接下来我们继续...

出现什么直接确定即可。

最后变成这样:

这样新建的分区就好了,我们开始克隆UEFI模块到UD维护盘

先选择做好的UEFI支持的U盘,右击克隆

弹出的选框我们点击刚刚分出的UD维护盘尾部分区

确认后就可以在接下的界面直接点击开始,一路确定即可克隆完成。

完成后的样子:

至此,给你的BIOS模式下的UD启动盘新增UEFI支持模块完成!!

==============================================
制作BIOS / UEFI (IA32+X64)三支持启动ISO超详细解说&文件提供

目前随着UEFI的普及,论坛上很多PE的作者纷纷发布BIOS/UEFI双启动ISO,我也有个极致PE,刚刚发布终结版,可惜了是Win7 X86的无法和UEFI搭边...

废话少说,现在开始:
要制作 BIOS/UEFI双启动ISO 你首先必须了解怎样制作ISO,普遍的我们使用微软的一款叫OSCDimg.exe的命令行工具,该工具非系统自带需要另外下载。
OSCDimg.exe的版本有很多,当然老版本的是无法制作BIOS/UEFI双启动ISO的我们要使用2.55版本的。直接到D模块尾部下载。

说完制作工具,再说制作要点,制作BIOS/UEFI双启动ISO需要两部分的引导记录(重点):
MBR引导记录:MBR.bin
UEFI引导记录:UEFI_X64.bin,UEFI_ia32.bin (前者X64构架用,后者IA32构架用)

再仔细注意下面的OSCDIMG的批处理命令,这是制作BIOS/UEFI双启动ISO另外至关重要的一点,我一测试完毕(重点):
@echo off

::要压制的目录,相当于光盘的根目录,表示当前目录下的Root_Dir目录
set intdir=.\Root_Dir

::设置光盘的引导文件MBR,表示当前目录下的MBR.bin文件
set BbootFile=.\MBR.bin

::设置光盘的引导文件UEFI,区分IA32构架引导文件UEFI_ia32.bin,X64构架引导文件UEFI_X64.bin
set UbootFile=.\UEFI_x64.bin

::输出的文件名,表示输出到当前目录下的BootISO.iso文件
set output=.\BootISO.iso

::设置光盘的卷标,表示光盘的卷标是:Bootable
set jb=Bootable

::根据上面已设置的参数,制作
OSCDimg -m -o -u2 -udfver102 -l%jb% -bootdata:2#p00,e,b%BbootFile%#pEF,e,b%UbootFile% %intdir% %output%

注意:
1、执行命令部分红色加粗的u2适用制作PE的双启ISO,如果你要制作GRLDR合盘的双启模板请将u2改成u1制作兼容ISO,正常制作PE双启ISO推荐u2参数
2、绿色部分可以任意改,保证正确即可,蓝色,部分可以删除,黑色加粗部分必须原封不动,至少在你不了解含义的情况下不能动.

==================================================
E:
给Win8 x86;Win8 x64 的PE添加UEFI启动支持
因为UEFI启动的是Winload.efi那么需要补齐相关文件即可,我下载网络上的一个全功能的 Win8 X64,没有补齐之前,可以加载,加载完毕就会出现错误。补齐后就没有问题了,完美UEFI启动。Win8 x64/x86 UEFI支持文件 点击下载 
================================================== 
 F:
给VMware虚拟机开启UEFI,当没有物理硬件支持的情况下,不错的选择哦。
我只简单的说下步骤,下载VMware 9,然后按照提示安装成功。
然后新建虚拟机,注意:在选择系统的时候选择 Windows 8 或者 Windows 7/8 x64,不能选择Windows 7或者更低版本的Windows 。
然后一步步继续(记住你的虚拟系统的位置),配置好你的虚拟机,该删除的硬件删除,设置合理的内存,完毕后关闭虚拟机。
找到你的虚拟系统的位置,然后找到一个.VMX的文件,使用记事本打开,在最后添加一句(红色部分):firmware = "efi" 
启动虚拟机,现在你的虚拟机就支持UEFI启动了。下面的一步步摸索吧。
 注:能够支持UEFI启动的Windows有:
X86:仅Windows 8(或者以后新出的Windows)
X64:Windows Vista、Windows 7、 Windows 8 (或者以后新出的Windows)
==================================================
G:
UEFI+GPT系统安装方法
假设我买了一台机器,没有预装系统,但是BIOS默认开启UEFI,磁盘格式是GPT,没有光盘,普通的UD维护盘无法进入系统但里面有Windows 8镜像......
现在我开始我的UEFI+GPT系统安装之旅.....
按照我上面的给你的UD加装UEFI启动模块,(WIM文件自己已经备齐),启动U盘里面的PE,进入到Win8PE...
注:UEFI+GPT环境中,Windows 8的光盘镜像有要求,X64构架的必需使用Windows 8 x64,一般来说新电脑都是x64的.....
使用虚拟光驱加载Windows 8光盘镜像 或者 提取光盘:\Sources\install.wim文件备用。
首先让我们处理一块新的硬盘(GPT),还没有分区哦

现在我们开始分区,选择银灰色长条,右击,新建分区

再跳出的对话框里,按照我的设置勾选....

接下来会理解跳出这个....

好了,我们好了,这是我的分区布局

现在,我们打开 WinNtsetup (本工具已经连续更新N次,版本不影响功能使用)设置界面如图:
在UEFI+GPT中,ESP(FAT盘是引导盘),这点请注意!

接下来跟着图走

最后在重启前我们看看引导是否就绪.....
在UEFI+GPT中,ESP(FAT盘是引导盘),这点请注意

PE开机自动为ESP分区分配盘符
完美版:ESP分区显示批处理
说明:该完美版,在0411下午发布的版本的基础上,又花了2小时完善,之前发布的版本只支持1块GPT磁盘的ESP分区显示,
完美版支持理论上支持任意数量的GPT磁盘的ESP分区显示,智能识别MBR与GPT,不会对MBR分区表的磁盘有任何影响。
测试图:我使用虚拟机测试了4块GPT磁盘,虚拟两块,U盘模拟两块....结果成功显示全部ESP分区
  
  
完美挂载GPT引导分区——下载地址:点击下载

内有两种方案可选!真正智能挂载GPT引导分区。。。(此创意由“糊涂”提出,插件有2011hiboy老师与conlced老师提供,在此表示感谢!)

关于ESP分区:它是一个特殊的FAT分区,当然能够被任何FAT分区代替,在B部分ESP分区的本质我就说过,它的特殊性在于,每次关机
重启后,ESP分区的状态总会变成不可见,这不是设置隐藏属性,因为ESP没有任何隐藏属性,更加类似于开机过程中系统
将ESP的盘符删除了,让人不能在计算机直接访问.
注:PECMD SHOW -1:-1 可以显示所有隐藏分区,但是Win8 x86有效,Win8 x64不灵,DISKPART都有效。
==================================================
H:MBR/GPT磁盘转换
具有很多,基本上分区软件都可以,奥梅分区助手,Diskgenius,Acronis......
注:转换会丢失硬盘数据,请谨慎操作和做好必要的备份
本例:Diskgenius

另外相反的:GPT转换成MBR

注:转换会丢失硬盘数据,请谨慎操作和做好必要的备份

原文是丢失数据,经本人测试使用Diskgenius进行MBR/GPT的磁盘转换是不会丢失任何数据的。
==================================================
I:EFI SHELL 说明及下载
如今新买的电脑大多数都会有EFI SHELL的吧,就是类似于一个“DOS窗口”可以自己收动选择需要启动的efi文件,如下图:

然而有些机器的BIOS里面只有一个UEFI Boot Support 选项让我们选,并没有EFI SHELL,我们就不能体验手动选择efi启动文件了吗? 
NO!
EFI特性决定了它不需要像BIOS程序一样老老实实地呆在Flash芯片中,它可以存在于FAT分区中,然后由开启UEFI的机器加载.....
现在我做好了,直接将PMF文件恢复到U盘即可使用....至于怎么恢复,那么请看D部分的PMF文件使用说明
PMF格式:EFI SHELL 点击下载    
新增光盘版EFI SHELL 点击下载 (UEFI启动有效,已测试)
注:该 EFI SHELL 适合 X64构架的计算机使用,IA32构架的机器使用无效....

转载于:https://www.cnblogs.com/mahocon/p/5691392.html

(转载)uefi启动解析:由原理到实例相关推荐

  1. uefi启动解析:由原理到实例

    http://www.szchehang.com/news/7159.html 这是本帖全部内容: A:什么是UEFI,其含义 B:UEFI模块包含的文件逐个分析及其引导流程+ESP分区的本质 C:判 ...

  2. Win10+Ubuntu18.04 亲测UEFI启动模式双硬盘+双系统成功安装经验

    温馨提示:  本贴适用于 Win10 UEFI 模式启动+双硬盘(固态硬盘+机械硬盘)安装 ubuntu18.04 双系统 本人电脑型号: 戴尔游匣5575 (128固态+1T机械硬盘),Win10U ...

  3. (译)UEFI 启动:实际工作原理

    转载地址:http://www.tuicool.com/articles/NNf26jB 本文是我翻译自国外技术博客的一篇文章,其中讲述了 UEFI 的一些基本概念和细节. 本文的原始链接位于: ht ...

  4. 【12月学习进度12/31——特征提取】离散KL变换原理、实例以及matlab实现(转载)

    转载自:离散KL变换原理.实例以及matlab实现 从n维特征中选取m维特征,如何在信息损失最小的情况下选取特征(因为必然会删去n-m维特征),使得剩下的特征更加有利于分类,离散K-L变换(Karhu ...

  5. UEFI启动视频详解:启动分析+N项操作实例

    ============================================================= ※※※※最给力的视频解说※※※※ 2011hiboy全部共享资料:立刻去   ...

  6. 关于UEFI启动+GPT分区 的一些经验

    http://blog.sina.com.cn/s/blog_4dc988240102xuyq.html 前言: 随着时代和科技的发展,电脑越来越普及,似乎人人都可以张嘴就说"我懂电脑&qu ...

  7. UEFI启动+GPT分区

    前言: 随着时代和科技的发展,电脑越来越普及,似乎人人都可以张嘴就说"我懂电脑",但是总有一些看起来完全不懂但实际上非常基础的东西让"懂"与"不懂&q ...

  8. uefi启动 多硬盘gtp_关于UEFI启动+GPT分区的一些经验

    前言: 随着时代和科技的发展,电脑越来越普及,似乎人人都可以张嘴就说"我懂电脑",但是总有一些看起来完全不懂但实际上非常基础的东西让"懂"与"不懂&q ...

  9. uefi启动 多硬盘gtp_UEFI+GTP

    前言: 随 着时代和科技的发展,电脑越来越普及,似乎人人都可以张嘴就说"我懂电脑",但是总有一些看起来完全不懂但实际上非常基础的东西让"懂"与"不懂& ...

最新文章

  1. 一文搞定Vim/Vi编辑器
  2. 【Vs2015】 常用字体的设置
  3. 字段定义_逐浪CMS对用户注册字段正则的自由定义(注册字段必填)
  4. springboot报错---@RunWith(SpringRunner.class)
  5. java基础day11---空指针异常----引用类型--自定义类型赋值--封装
  6. LabelSmoothing标签平滑
  7. host不能访问虚拟机内web service中踩到的坑--2017年5月3日
  8. 可配置语法分析器开发纪事(二)——构造符号表
  9. MySql大批量生成测试数据
  10. matlab中nc值是什么意思,科学网-.nc数据读取详细资料matlab2010a及后面的版本-张凌的博文...
  11. Python的数据类型讲座
  12. 关于AndEngine显示全屏问题
  13. 副业搞钱的几个野路子:两个年入10万的零成本赚钱项目
  14. 16个时髦的扁平化设计的 HTML5 CSS3 网站模板
  15. 【科软课程-信息安全】Lab12 SQL Injection Attack
  16. 8个好用的图片素材网站,免费资源多,够用一辈子
  17. Cocos2d-x制作跳棋第三步:棋子动作实现及AI算法思想
  18. 关于蓝牙的测试(一)
  19. 希尔薇android+游戏,LOL战争女神希维尔详细攻略 飘逸的ADC
  20. Session会在关闭浏览器的时候自动清空吗?

热门文章

  1. 基于混沌透镜成像学习的哈里斯鹰优化算法
  2. 分享几个Wordpress模板下载网站
  3. 苏宁web前端电话面试
  4. 如何使用jquery修改css中带有!important的样式属性
  5. DBA组件---ADO数据库编程利器
  6. java之program arguments与VM arguments
  7. ERROR: could not inset ‘edd‘
  8. CRM系统在销售中的应用
  9. mysql按日、月、周、季度分组
  10. C# 关于Lambda表达式