
uefi启动解析.pdf
9页uefiuefi 启动解析启动解析: :由原理到实例由原理到实例摘要:这是本帖全部容: A:什么是 UEFI,其含义 B:UEFI 模块包含的文件逐个分析及其引导流程+ESP 分区的本质 C:判断自己的机器是X64(64 bit)构架还是 IA32(32 bit)的构架 D: 给传统 BIOS 下的合盘添加 UEFI 模块支持+制作 BIOS / UEFI 〔IA32+X64〕 E: 给 Win8x86;Win8....这是本帖全部容: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- --------------------------------传统 BIOS 启动中文显示用的目录〔不影响启动〕│ bootmgr.exe.mui├ ─ efi--------------------------------UEFI启动目录 ★ + UEFI_MS 必需 + ◆│ ├ ─ zh- --------------------------------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 是 2021 年买的是 X64 构架.....==================================================C:判断自己的机器是 X64(64 bit)构架还是 IA32(32 bit)的构架1、 首先, 现在买的机器预装 Win8 的大概都是 X64 构架了吧 我的电脑 2021 年买的也是 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.binUEFI 引导记录: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.binset UbootFile=.\UEFI_x64.bin::输出的文件名,表示输出到当前目录下的BootISO.iso 文件set output=.\BootISO.iso::设置光盘的卷标,表示光盘的卷标是:Bootableset =Bootable::根据上面已设置的参数,制作OSCDimg -m -o -u2 -udfver102 -l%%-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 引导分区。
〔此创意由“糊涂〞提出, 插件有 2021hiboy教师与 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注:转换会丧失硬盘数据,请慎重操作和做好必要的备份==================================================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 构架的机器使用无效....--可修编.。
