UEFI

BIOS→ESP分区→\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\Boot\BCD→\Windows\system32\winload.efi→加载内核启动系统

上述流程中的ESP分区(标准的ESP分区可以使用Diskgenious软件创建),为UEFI下Windows的引导分区,实际上就是一个FAT格式的分区,并无其他特殊的要求。并不像在传统BIOS下,启动Windows需要“活动的主分区”。在ESP分区下,存在几个重要的文件(“√”表示必不可少的文件):bootmgfw.efi是由bootx64.efi或bootia32.efi改名来的。

EFI/Boot/bootx64.efi(或bootia32.efi)

√EFI/Microsoft/Boot/bootmgfw.efi

√EFI/Microsoft/Boot/BCD

EFI/Microsoft/Boot/zh-CN

上面这几个文件可以系统安装光盘中找到,我们只要简单的使用“复制”-“粘贴”,放到ESP分区即可。当然也可以通过命令进行操作:

bcdbootC:\windows/lzh-cn

上述命令成功执行的前提:1、必须存在bcdboot.exe文件(原版Windows8.1/8/7的C:\Windows\System32下有此文件)。2、命令在bcdboot.exe文件所在路径下执行。3、若自行创建的FAT分区(不是标准的ESP分区),则需要执行命令:bcdbootC:\windows/lzh-cn/sY:(Y代表FAT分区盘符)。

上述操作的意义在于,UEFI环境下安装系统,可以将gho、wim系统映像应用到某分区,然后自行创建一个ESP分区,再通过执行上述命令修复一下启动文件即可大功告成。

详细方法说明:

PE下使用命令行修复UEFI启动模式的引导问题

进入PE(win8),

a、PE为传统启动方式:

打开命令提示符,输入bcdbootc:\windows/sx:/fuefi/lzh-cn回车即可。

命令解释:

c代表你的系统所在分区,x:代表esp分区,如果esp分区没有盘符,请先指定一个。

bcdboot-Bcd启动文件创建和修复工具。

bcdboot.exe命令行工具用于将关键启动文件复制到系统分区以及创建新的系统

BCD存储。

"c:\windows"指定windows系统根目录的位置。

/s指定一个可选的卷号参数,该参数用于指定要将启动环境文件复制到哪个目标系统分区。默认值为固件标识的系统分区。

/f与/s命令一起使用,指定目标系统分区的固件类型,的选项是"UEFI"、"BIOS"或"ALL"。

/l指定在初始化BCD存储时使用的可选区域设置参数,默认值为"简体中文"。

b、PE为UEFI启动方式:

打开命令提示符,输入bcdbootc:\windows/lzh-cn回车即可。

注意事项:

如果该命令不能顺利执行,请检查你的win8PE的完整性,看bcdboot是否被精简了。

拓展学习:

前言:

1、本教程针对于UEFI启动来叙述的,根据普遍的支持UEFI的机器来叙述

2、本教程以Windows8X64来作为参考

标题简要说明:

WindowsBootManager--------安装完Windows系统后而出现的启动选项(相关的信息存储在NVRAM),可以删除和建立和bcdboot.exe有关

Bootmgfw.efi--------引导Windows的引导文件

Bootx64.efi---------UEFI的必需引导文件

bcdboot.exe--------修复UEFI启动的命令行工具,微软出品

开始前先引进两个概念:

计算机默认引导-----------就是不管你的计算机有没有操作系统,定义了UEFI启动后将通过Bootx64.efi引导你的计算机,并进入各种模式,维护、安装、计算机或者系统

这里是Bootx64.efi,它只是一个通用名,权限丰富且大于Windows默认,就是说如果你的Windows默认的启动文件不在了,

启动计算机默认的引导文件Bootx64.efi也是可以启动计算机的。使用计算机默认文件随时可以在各种环境下启动计算机,EFISHELL、ISO、

Windows、Linux...都可以,通吃型.

Windows默认引导-------就是你为计算机安装了操作系统,或者修复了UEFI引导后,启动菜单会有WindowsBootManager选项,该选项默认从bootmgfw.efi启动系统

bootmgfw.efi该位置的该文件只能用于启动Windows,不是通用名,权限单一

对于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,因为此项验证较简单,我总共验证了:

win7x64;win8x86;win8x64三者的光盘引导文件分别是bootx64.efibootia32.efibootx64.efi

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

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

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

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

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

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

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

我为此安装了微软win8x64的操作系统,分析ESP分区的全部文件,分别存在:

efi\boot\bootx64.efi

efi\microsoft\boot\bootmgfw.efi

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

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

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

>结果:

选择从本地硬盘启动系统仍然可以引导进入

选择WindowsBootManager进入失败

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

>结果:

选择从本地硬盘启动进入失败

选择WindowsBootManager系统仍然可以引导进入

结论:

bootx64.efi是计算机默认引导文件

bootmgfw.efi是Windows默认引导文件

4、bcdboot和“WindowsBootManager”“Bootmgfw.efi”“Bootx64.efi”之间的联系

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

例:

bcdbootc:\windows/lzh-cn

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

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

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

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

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

UEFI规范中,关于NVRAM的正解:

NVRAM是BIOSROM中的一段区域,一般定义为64kbyte,现在EFI把所有的变量都存在这里。

结论:

bootx64.efi是计算机默认引导文件

bootmgfw.efi是Windows默认引导文件

uefiboot 文件_UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法相关推荐

  1. UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法

    UEFI BIOS→ESP分区→\efi\Microsoft\boot\bootmgfw.efi→efi\Microsoft\Boot\BCD→\Windows\system32\winload.ef ...

  2. 工作组模式下Windows共享分析

    工作组模式下 Windows局域网共享分析 一.工作组结构的网络     工作组网络也被称为"对等式"网络,因为每台计算机的地位是平等的,他的资源与管理分散在各个计算机上.    ...

  3. windows与Linux实时传输数据,I01 物理隔离条件下Windows与Linux服务器的文件传输脚本...

    title: I01 物理隔离条件下Windows与Linux服务器的文件传输脚本author: Adolph Leecategories: 进阶tags: paramiko打怪升级mathjax: ...

  4. vue 刷新嵌套路由_vue router嵌套路由在history模式下刷新无法渲染页面问题的解决方法...

    解决vue-router嵌套路由(子路由)在history模式下刷新无法渲染页面的问题,具体内容如下 一. 异常描述 本来使用的是vue-router的hash模式,但是hash模式下url需要带&q ...

  5. c语言中.dat是什么文件,c 盘目录下的windata.dat是什么文件 可以删吗

    Ntuser.dat.Ntuser.ini.Ntuser.dat及LOG日志文件都属于用户配置文件,就是系统用户的一些记录和配置,你不要删除!在当前用户下你也是删不掉的! 是注册表文件 Windows ...

  6. WebAPI Post模式下传递、接收参数的几种方法

    创建实体类 前一篇博客讲了Get模式下的传递.接收参数的几种方法,现在来介绍一下Post模式下传递.接收参数的几种方法.首先还是老样子,创建一个空的ASP.NET WebAPI工程,在Models文件 ...

  7. target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件...

    target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件 转载于:https://www.cnblog ...

  8. python怎么输入两行_python交互模式下输入换行/输入多行命令的方法

    先给大家介绍下python交互模式下输入换行/输入多行命令的方法 换行方法 \ 如: >>> print 'aaa'; \ ... print 'bbb'; \ ... print ...

  9. Ozone SCM HA模式下的请求处理过程

    文章目录 前言 SCM HA和OM HA的区别 SCM HA基于InvocationHandler的请求处理 SCM HA请求处理过程图 参考链接 前言 在前面的文章中,笔者阐述过关于Ozone SC ...

最新文章

  1. word里实现在方框中打勾和打叉
  2. 关于FlexBox的布局
  3. maven jetty 插件 允许修改 js
  4. asp.net 下载文件
  5. python是基于什么原理_Python基于class()实现面向对象原理详解
  6. python数据结构剑指offer-构建乘积数组
  7. NumPy 算术函数
  8. U-Boot的常用命令详解
  9. 学习笔记:工厂方法模式及简单工厂模式的对比
  10. 创建文本节点createTextNode
  11. 教你用MSChart控件绘制正态分布图形
  12. Java中常用的几个操作redies的方法。
  13. CRM系统客户管理系统源码
  14. 设计模式——终结者模式
  15. 哪怕我变成一个庸俗女子
  16. 安兔兔html5测试跑分榜,2021年最新安兔兔手机性能跑分排行榜
  17. iosepub阅读器_epub格式电子书阅读器 iOS版
  18. SAP PCA利润中心会计案例教程后台配置
  19. 华为市场上架app签名Pepk工具 使用
  20. (一)傅里叶变换:傅里叶级数(Fourier Series)

热门文章

  1. 如何利用阿里云域名远程访问家中群辉NAS(Docker容器)上的calibre、halo博客?
  2. 2020年PMP笔记归纳第七章项目成本管理
  3. 【My Electronic Notes系列——低频功率放大器】
  4. 一次排查线上线程池数量过高的报警经历
  5. 浏览器集成德卡T10读卡器
  6. 十大密码攻击及缓解措施
  7. 无线通信:Wi-Fi 基本知识
  8. 传世服务器上怎么修改升级经验,传世各级升级需要的经验
  9. Android 字符串资源(strings.xml)
  10. Oracle存储过程语法学习