【问题】最近遇到一些用户使用的 *** 作系统为Win10,但是使用过程中由于错误系统优化、卸载软件错误、误删系统文件、windows更新错误等,影响系统BCD引导文件,造成开机出现该BCD蓝屏报错,如下图所示
图一 错误信息
【解决方案】在PE下 命令提示符下输入:bcdboot C:\Windows /l zh-cn 重新创建UEFI引导,即可解决此问题
【问题分析】磁盘主引导记录为MBR时,经常会遇到无法引导的情况,我们一般使用NTBootAutofix自动修复即可解决,如果不能解决,请按一下方式解决
但是在一些使用UEFI引导的系统上,此软件无法修复,尝试了网上很多方法,都没有解决问题。
考虑到UEFI启动的系统,引导一般存放在ESP分区上,为了保证用户数据安全,我格式化了自己电脑的ESP分区进行实际测试。
1. 格式化ESP分区
图二 可以看到ESP分区已经是空的
2. 使用命令bcdboot C:\Windows /l zh-cn进行修复,重建引导
图三 重建引导
3.查看ESP分区,可以看到引导所需的文件都已复制到ESP分区
图四 查看ESP分区
4. 开机,可以正常启动,无报错提示。
【原理分析】在win8/10系统中有一条BCDboot.exe命令,它是一种快速设置系统启动分区或修复系统启动环境的命令行工具。
BCDboot.exe命令是通过从已安装的Windows系统文件夹中复制一小部分启动环境文件来设置/修复系统的;BCDboot 还会在系统分区上创建引导配置BCD文件,该文件存储了启动引导项,可让您选择引导已安装的Windows。当系统无法启动时,用U盘或光盘启动Windows PE环境、或者使用win8/10的高级修复模式启动到命令符环境(推荐),然后运行BCDboot命令来修复损坏的系统。
BCDboot命令通常在 %WINDIR%\System32 文件夹内,它运行后从计算机上已有的 Windows 映像复制一套启动环境文件到启动分区(GPT)/目录(MBR)中。这些启动环境文件包括:从已安装的系统 %WINDIR%\boot\efi 文件夹和 %WINDIR%\System32\boot 文件夹复制到系统启动分区中。
BCDboot 创建启动菜单,使用%WINDIR%\System32\Config\BCD-Template 文件为模板,在系统启动分区上创建新的 BCD(启动菜单)文件,并初始化 BCD 启动环境文件。
在基于 UEFI(统一可扩展固件接口) 的系统上,EFI 系统分区是使用 GUID 分区表 (GPT) 磁盘格式的磁盘上的系统启动分区(ESP)。BCDboot 会创建 \Efi\Microsoft\Boot 目录,并将所有需要的引导环境文件都复制到此目录中。
示例
bcdboot C:\Windows /s S: /f uefi /l zh-cn
解释:用DG等工具先将ESP分区装载为S盘,从系统盘C:\Windows目录中复制UEFI格式的启动文件到ESP分区中,修复系统。
各参数的具体含义:
c:\windows 系统安装目录,打开我的电脑,查看你的系统是安装在那个盘,就输入相应的盘符和目录。
/s S: 指定esp分区所在磁盘,小编指定ESP分区为t盘。
/f uefi 指定启动方式为uefi,注意之间的空格一定要输入。
/l zh-cn 指定uefi启动界面语言为简体中文
该命令正确执行的前提是:
1、启动分区存在
2、windows安装盘中启动文件存在
从Vista开始,Windows系统的启动配置数据就从boot.ini转移到了BCD(Boot Configuration Data)中,要修改启动菜单,就要使用系统提供的bcdedit命令行工具。一直想把这方面的经验和大家分享,只是一直没有合适的机会,前两天笔者电脑的启动文件遭到破坏,不能启动,用系统安装盘修复后,启动菜单后面就多出了“已修复”三个字,正好用来做演示如何修改启动菜单,把这三个字从启动菜单中去掉。下面开始。工具/原料
装有Win Vista或其以上版本系统的电脑
方法/步骤
右键单击桌面右下角的【开始】菜单,选择【命令提示符(管理员)】,或者直接按快捷键【Win + X + Shift + A】,以管理员身份运行命令提示符,步骤截图如下所示:
在命令提示符中输入命令【bcdedit /enum all】按Enter键执行,可以看到笔者的双系统(Win10和Win8.1)启动菜单的后面都被加上了“已修复”三个字,目标就是去掉这三个字,步骤截图如下所示:
注意, *** 作BCD, *** 作启动配置数据是非常危险的,所以我们 *** 作之前要对BCD进行备份,输入命令【bcdedit /export g:\bcd.bak】按Enter键执行,备份文件的文件名任意,自己记得即可,记住路径,以备恢复之用。步骤截图如下所示
正题到了,修改启动菜单。
输入命令【bcdedit /set {current} description "Windows 10 Enterprise"】 按Enter键执行,修改Win10的启动菜单描述;
输入命令【bcdedit /set {8b4a7fc9-c7a6-11e6-8c29-d33045d60a32} description "Windows 8.1 Enterprise"】 按Enter键执行,修改Win8.1的启动菜单描述;
注意:
① bcdedit /set命令的使用格式:
bcdedit /set {GUID} 属性名 要修改为的属性值
② {GUID} 的值要通过命令【bcdedit /enum all】来查询,{}必须加上,而且{GUID}都比较长,手写易出错,建议复制粘贴,为了方便,可以同时打开两个命令行窗口
③ 属性值中间如果有空格,需要用“”引起来
④ 参数之间不要遗漏了空格
使用命令【bcdedit /enum all】来查询下设置的结果,可以看到“已修复”三个字已经被去掉,步骤截图如下所示:
另外我们还可以通过GUI界面来证实一下修改结果。按【Win + R】调出运行框,输入“msconfig”后按Enter键执行,步骤截图如下所示:
在【引导】选项卡下可以看到,启动菜单文字中没有“已修复”三个字,
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)