GPT磁盘分区UEFI启动解析

这是本文的全部内容:

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

新型UEFI,全称“统一的可扩展固件接口”(Unified Extensible Firmware Interface), 是一种详细描述类型接口的标准。这种接口用于操作系统自动从预启动的操作环境,加载到一种操作系统上。

可扩展固件接口(Extensible Firmware Interface,EFI)是 Intel 为 PC 固件的体系结构、接口和服务提出的建议标准。其主要目的是为了提供一组在 OS 加载之前(启动前)在所有平台上一致的、正确指定的启动服务,被看做是有近20多年历史的 BIOS 的继任者。

UEFI是由EFI1.10为基础发展起来的,它的所有者已不再是Intel,而是一个称作Unified EFI Form的国际组织。

B:UEFI模块包含的文件逐个分析及其引导流程+ESP分区的本质

★ —————–对于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构架的机器使用无效….

One thought on “GPT磁盘分区UEFI启动解析
  1. SqzfEW 2023/11/21 17:40  0

    Wasserman and colleagues investigated the long term outcomes for women treated with adjuvant radiotherapy in the treatment of primary breast cancer 57 cialis for sale online

Comments are closed.

添加一条新回复 回到顶部

亲爱的,主人已经关闭了这篇文章的评论 。