700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > uefiboot 文件_UEFI BIOS模式下Windows系统启动过程以及引导文件修复方法

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

时间:2019-01-24 19:15:44

相关推荐

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。