11
2022
05

win10 bcdboot引导修复命令使用方法及一些BCD修复心得经验

HQY

注意:做处理之前,一定要备份好你电脑上的重要数据,如有条件,最好先克隆备份系统盘及数据盘

最近亲戚小孩上大学,之前帮她买的Dell 二合一电脑出现以下错误

无法进入windows系统,错误提示如下:

The Boot Configuration Data for your PC is missing or contains errors

File: \EFI\Microsoft\Boot\BCD
Error Code: 0xc0000034

或这个错误界面(早期Windows可能是这个错误提示)

window failed to start. a recent hardware or software change might be the cause. to fix the problem:

1. insert your windows installation disc and restart your computer

2.choose your language settings, and then click "next."

3.click "repair your computer"

if you do not have this disc, contact your system administrator or computer manufacturer for assistance.

file: \EFI\microsoft\Boot\BCD

status: 0xc000000f

info: the boot Configuration Data for your PC is missing or vontains errors


按ESC 键显示这个

还有些是这样的提示:

Recovery

Your PC needs to be repaired

The Boot Configuration Data for your PC is missing or contains errors.

File: \EFI\Microsoft\Boot\BCD

Error code: 0xc000014c

You'll need to use the recovery tools on your installation media. If you don't have any installation media ( like a disc or USB device ), contact your system administrator or PC manufacturer

总之就是无法进入到Windows系统。比较痛苦

折腾了2个小时,最好找到解决办法。记录下来,以免将来忘记。


解决办法:

一、可按照上面提示的办法制作 windows原装启动盘,再进行修复

如果包含启动配置参数和 Windows 启动文件的 BCD(启动配置数据)文件损坏或活动分区上的 Boot\BCD 文件损坏或丢失,则可能会发生此问题。

我建议您通过使用Media Creation Tool创建 Windows 10 可启动媒体(即 USB 或 DVD)来修复您的计算机 。准备好可启动媒体后,请按照下面提到的步骤操作。

1. 将 Windows 安装光盘插入光驱或连接 USB 介质,然后启动 计算机。

2.出现提示时按一个键。

3.选择语言、时间、货币、键盘或输入法,然后单击 下一步。

4.单击修复您的计算机。

5.单击要修复的操作系统,然后单击 下一步。

6.在“选择一个选项”屏幕上,选择“ 疑难解答” >“高级选项”>“命令提示符”并键入

下面的命令。

键入bootrec /fixmbr并按 Enter。

(此命令会将 Windows 10 兼容的主引导记录写入系统分区)

键入bootrec /fixboot并按 Enter。

(此命令使用与 Windows 10 兼容的引导扇区将新引导扇区写入系统分区)

键入bootrec /scanos并按 Enter。

键入bootrec /rebuildbcd并按 Enter。

(这两个命令会扫描所有磁盘以查找与 Windows 10 兼容的安装)

7.重新启动计算机并检查问题是否已解决。


由于我手头没有安装盘,所以没有使用这个方法


二、不修复先尝试选择启动盘来进入系统

先使用优盘的winPe启动系统,Dell电脑是在启动时按F12 进入快捷启动菜单,在启动项有一个UEFI ,默认是直接 Windows boot manager, 不要选择这个,选择下面 的你的电脑硬盘的名称 我的是Intel 固态硬盘,手工选择这一项启动即可(其它电脑可查找选择启动盘的快捷键)

也就是说Windows本身没有问题,只是Boot找不到启动入口,不知道从哪个硬盘启动

当然每次手工这样处理也不是办法,最终还要解决 Boot BCD的指向错误的问题


三、使用WinPe 启动盘及引导修复工具进行修复

按第二点方法,选择优盘的WinPE 启动盘启动系统,我这个winpe中自带有引导修复工具,可以建立ESP分区并修复。

1.先使用 WinPe 中的 UEFI引导修复工具

1)找不到Esp分区,需要使用 UEFI引导修复工具 点挂载,挂载后可看到 esp分区挂载为F盘

(未做这个步骤之前,使用DG分区软件,可看到Esp分区,但没有盘符,所以要挂载ESP ,那如何使用diskgenius挂载ESP分区。 就是分配盘符:“挂载ESP”理解为用DISKgenius直接给ESP分配一个盘符

2)再选择Windows所在目录,再选择语言为zh-cn

3) 使用 UEFI启动修复工具 修复一下

如果以上方法不行,则可能是修复有错,但工具并没有把这个错误显示出来,所以要用下面第二种手工修复的方法

2. 手工修复

假如上面步骤将 Esp分区加载为 F盘

执行 这个命令

bcdboot C:\Windows /s F: /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启动界面语言为简体中文

  WIN8/10的系统启动修复命令bcdboo还是比较简单的,它从损坏的系统(中一般是 c:\windows目录,这些文件当然是你安装系统时就存在了)复制启动文件到你的启动分区中,来达到修复系统的目的。因此,该命令正确执行的前提是:

  1、启动分区存在

  2、windows安装盘中启动文件存在

  否则,该命令将无法执行或出错

但我在执行时会提示这个错误:

BcdOpenSystemStore failed with unexpected error code, Status = [c0000098]

找到很多办法都无法解决

后来死马当活马医


1. 挂载esp分区为F盘后(winpe UEFI启动修复工具,先挂载ESP盘,挂载后盘符为F盘),将 F盘下的 \boot\Microsoft\Boot\BCD 下的BCD文件 及 zh-cn 目录下文件删除之 (可以先用DG分区软件 或 挂载后先复制到其它地方进行备份

2. 再按上面的命令执行,就成功了。执行不出错了。

bcdboot C:\Windows /s F: /f uefi /l zh-cn

再重启电脑,一切正常了。很有成就感。避免重装系统,重装所有软件 ,重装恢复数据,至少节约了1-2天的时间。

四、使用Bootrec进行修复

如果还不行,也可尝试使用下面的一些命令再继续尝试

Bootrec /fixMBR

Bootrec /fixBoot

Bootrec /RebuildBcd


五、使用网上找到的其它方法进行BCD修复

Win10系统常见故障有BCD引导错诶导致无法开机,正常情况下是在新安装时最容易出现。那要怎么解决这个问题呢?其实我们可以通过WinPE中的Windows引导修复软件来修复这个问题。但如果U盘启动盘中没有这个工具的话,可以用命令的方式来解决。以下就是修复引导的命令。

  1、打开记事本,然后复制粘贴以下代码,另存为“修复BCD引导.bat”;(注意以下代码以系统在C盘的为准,如果不是请更改partition=C:中的C改为其他盘符);

  path C:\Windows\system32

  bcdedit store C:\boot\bcd create {bb68514c-cff8-11dd-aca9-a775dac50ae8} d “Microsoft ” application osloader

  bcdedit store C:\boot\bcd set {bb68514c-cff8-11dd-aca9-a775dac50ae8} device partition=C:

  bcdedit store C:\boot\bcd set {bb68514c-cff8-11dd-aca9-a775dac50ae8} path \Windows\system32\winload.exe

  bcdedit store C:\boot\bcd set {bb68514c-cff8-11dd-aca9-a775dac50ae8} locale zh-CN

  bcdedit store C:\boot\bcd set {bb68514c-cff8-11dd-aca9-a775dac50ae8} inherit {bootloadersettings}

  bcdedit store C:\boot\bcd set {bb68514c-cff8-11dd-aca9-a775dac50ae8} osdevice partition=C:

  bcdedit store C:\boot\bcd set {bb68514c-cff8-11dd-aca9-a775dac50ae8} systemroot \Windows

  bcdedit store C:\boot\bcd set {bb68514c-cff8-11dd-aca9-a775dac50ae8} nx optin

  bcdedit store C:\boot\bcd displayorder {bb68514c-cff8-11dd-aca9-a775dac50ae8} addlast

  bcdedit store C:\boot\bcd timeout 5

  pause

  2、然后在WinPE下执行这个文件,

  通过上述方法操作,就可以修复BCD引导错误bat代码。之后还可以把这个BAT文件留着,需要时还可以用。

六、使用系统备份文件进行修复(此方法我尝试过不行,我的备份目录是空的)

解决windows7开机出现\Boot\BCD错误

1. 打开目录“C:\Windows\System32\config\RegBack”

2. 将RegBack目录下的所有文件,复制并粘贴覆盖到“C:\Windows\System32\config\”下 (可先将原目录文件先进行备份,以防万一)


相关知识:Bcdboot命令的原理 及作用

在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 文件夹复制到系统启动分区中。在UEFI+GPT环境下,BCDboot 将文件复制到固件所标识的默认系统启动分区(ESP)。另外,BCDboot 还使用%WINDIR%\System32\Config\BCD-Template 文件为模板,在系统启动分区上创建新的 BCD(启动菜单)文件,并初始化 BCD 启动环境文件。可以在 BCD-Template 文件中定义特定的 BCD 设置(需要BCB文件编辑器)。

  在基于 BIOS 的系统上,系统分区是使用主引导记录 (MBR) 磁盘格式的磁盘上的活动分区。BCDboot 会在系统分区上创建 \Boot 目录,并将所有需要的引导环境文件都复制到此目录中。

  在基于 UEFI(统一可扩展固件接口) 的系统上,EFI 系统分区是使用 GUID 分区表 (GPT) 磁盘格式的磁盘上的系统启动分区(ESP)。BCDboot 会创建 \Efi\Microsoft\Boot 目录,并将所有需要的引导环境文件都复制到此目录中。

BCDboot 命令行格式

  BCDBOOT source [/llocale] [/svolume-letter] [/v] [/m [{OS Loader GUID}]]


相关知识1:直接用bcdedit创建bootmgr数据库和修复启动菜单

本篇文章来源于 Linux公社网站(linuxidc.com) 原文链接:linuxidc.com/Linux/2013

直接用bcdedit创建bootmgr数据库和修复启动菜单
使用下面方法之前需要bcdedit和bootsect两条命令,这两条命令可以到vista或者windows 7安装光盘上获得。bootsect.exe文件在vista和windows 7的安装光盘的boot目录下,而bcdedit.exe文件可以在安装了vista系统或者windows 7系统的电脑上的%windir%\system32目录下获得,当然也可以使用imagex命令挂载vista或者windows 7安装光盘里source\install.wim文件,然后到windows\system32下也能找到bcdedit命令。至于imagex命令可以到微软官方下载WAIK工具包。
1、创建BCD数据库
将安装光盘上的boot文件夹和bootmgr文件一起复制到c盘,然后删除C:\Boot\bcd文件。配置 BCD 存储在此步骤中,使用 BCDEdit 新建名为 BCD 的启动配置文件。BCD 替换 Boot.ini。BCDEdit 是旨在管理 BCD 存储的命令行工具。Windows PE 和 Windows Vista 中都提供 BCDEdit。例如,进入bcdedit所在目录执行如下命令:
Bcdedit /createstore c:\BCD
bcdedit /import c:\bcd
Bcdedit /create {bootmgr} /d "Boot Manager"
Bcdedit /set {bootmgr} device boot
bcdedit /set {bootmgr} locale en-US //可以不设置,默认为英文
2、添加Windows XP启动菜单:
bcdedit /create {ntldr} /d " Windows XP Professional"
bcdedit /set {ntldr} path \ntldr
bcdedit /set {ntldr} device partition=c:
bcdedit /displayorder {ntldr} -addlast
3、添加Windows 7启动菜单
Bcdedit /create /d " Windows 7 Ultimate " -application osloader
这条命令完后会返回一个GUID值,如:{faef23c1-6efe-11de-b779-b2c7bec45a2c}
The entry {uid} was successfully created.
接下来{uid}这个GUID值就表示是Windows 7的菜单项。
Bcdedit /set {uid} osdevice partition=E:
Bcdedit /set {uid} device partition=E:
Bcdedit /set {uid} path \windows\system32\winload.exe
Bcdedit /set {uid} systemroot \windows
Bcdedit/displayorder {uid} -addlast
4、添加PE 1.0启动菜单
bcdedit /copy {ntldr} /d "Windows PE"
//The entry {uid} was successfully
bcdedit /set {uid} path \LDRXPE
bcdedit /set {uid} device partition=c:
bcdedit /displayorder {uid} -addlast
5、添加Ubuntu9.04启动菜单
下载grub4dos软件包,提取文件grldr 和grldr.mbr拷贝到C盘根目录
bcdedit /create /d "GRUB MENU" /application bootsector #建立一个名称为“GRUB MENU”,实模式启动扇区的启动项
生成{ID}复制下来
bcdedit /set {ID} device partition=c: #设置引导扇区文件所在的分区,grldr.mbr所在分区
bcdedit /set {ID} path \grldr.mbr #指定引导扇区文件的路径和文件名
bcdedit /displayorder {ID} /addlast #增加这个Ubuntu的菜单项到末尾。
下面修改menu.lst,就行了。
附:我的Ubuntu9.04 menu.lst
title Ubuntu 9.04, kernel 2.6.28-12-generic
root ()/ubuntu/disks
kernel /boot/vmlinuz-2.6.28-12-generic root=UUID=2414A33A14A30DBC loop=/ubuntu/disks/root.disk ro quiet splash
initrd /boot/initrd.img-2.6.28-12-generic
6、设置默认的启动条目和选择时间
Bcdedit /default {uid}
bcdedit /timeout 7
7、修改启动参数模式
bootsect /nt: (nt52是用ntldr方式启动,即XP启动菜单方式启动;nt60则是使用VISTA新式的bootmgr启动菜单。)


相关知识2:UEFI引导修复相关理论及操作教程
来自:无忧启动论坛 毛桃统一PE派 独剑 整理汇总

当uefi引导文件损坏,或ghost还原64位系统到C盘,因无uefi引导还是不能启动系统。

怎么修复UEFI引导呢?

○、UEFI引导基本原理

1.esp引导分区

esp磁盘分区是gpt格式硬盘放efi引导文件的磁盘,在mbr格式硬盘中也可以由任一fat

格式磁盘分区代替

2.efi文件结构

efi\boot\bootx64.efi

efi\microsoft\boot\bcd

3.efi启动过程

uefi bios启动时,自动查找硬盘下esp分区的bootx64.efi,然后由bootx64.efi引导

efi下的bcd文件,由bcd引导指定系统文件(一般为c:\windows\system32\winload.efi)

一、用bcbboot自动修复

我们建议大家启动64位8PE,用它带的bcdboot来修复。

(一)指定esp分区修复

环境为64位8PE,bios/uefi启动进入下都可以

1.启动64位8PE,并用esp分区挂载器或diskgenuis挂载esp分区

2.打开cmd命令行,输入以下命令并运行

bcdboot c:\windows /s o: /f uefi /l zh-cn

其中:c:\windows 硬盘系统目录,根据实际情况修改

/s o: 指定esp分区所在磁盘,根据实际情况修改

/f uefi 指定启动方式为uefi

/l zh-cn 指定uefi启动界面语言为简体中文

注:64位7PE不带/s参数,故7PE不支持bios启动下修复

(二)不指定esp分区修复

环境为64位7或8PE,只有uefi启动进入PE才可以

不用挂载esp分区,直接在cmd命令行下执行:

bcdboot c:\windows /l zh-cn

其中 c:\windows 硬盘系统目录,根据实际情况修改

/l zh-cn 指定uefi启动界面语言为简体中文

注:在8PE中,我们也可以在uefi启动进入pe后,挂载esp分区用方法(一)修复

(三)用“UEFI引导自动修复”脚本修复

这个脚本,其实就是用了8PE的bcdboot,来修复uefi引导。测试可以在2003 7 8 PE

中自动修复uefi引导。

这里提供两套,第一套是程序版,为离弃制作;第二套是pecmd脚本版,由caocaofff制作,都相当完美。

二、用bootice手动修复

从efi引导启动过程来看,虽然它的文件很多,但主要用到的就是两文件,我们完全可以在各pe下挂载esp分区,从硬盘系统中复制bootx64.efi文件,然后用用bootice制作好bcd,就完成efi引导修复。

1.启动任一pe,用esp分区挂载器或diskgenuis挂载esp分区

2.查看esp分区是否可正常读写,如不正常可重新格式化为fat16分区格式。

3.在esp分区中建立如下空文件夹结构

\efi\boot\ (bootx64.efi等复制)

\efi\microsoft\boot\ (bcd等建立)

4.复制硬盘系统中的bootmgfw.efi(一般在c:\windows\boot\efi下)到esp分区的\efi\boot\下,并重命名为bootx64.efi

5.打开bootice软件,有esp分区的\efi\microsoft\boot\下新建立一bcd文件,打开并编辑bcd文件,添加“windows vista\7\8启动项,指定磁盘为硬盘系统盘在的盘,指定启动分区为硬盘系统分区(一般为c:) 指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来 最后保存当前系统设置并退出。

这样子,精简的UEFI引导就手工修复了,实机和虚拟机测试通过。

注:xpPE不能识别gpt格式的硬盘分区,用2003PE中的disk.sys替换xpPE内核中的相应文件,就可以让xpPE也能识别gpt磁盘格式分区 指定启动分区不是esp分区所在分区,就是硬盘64位7 8 系统所在分区 指定启动文件为:\Windows\system32\winload.efi, 是*.efi,不是*.exe,要手工改过来

三、其它问题

1.手工运行ghost并不会修复esp分区

2.用老大们的一键还原,现在慢慢加上了还原后esp引导修复功能,如实测深山的一键还原就自带esp分区uefi引导修复

3.用微软原版系统光盘安装或PE下安装,当然都会自动修复esp引导。


相关参考知识3:Win10无法启动提示File:\boot\bcd\错误代码0xc00000f处理方法

作者:系统城-小群

原因分析:File:\boot\bcd\ 是系统引导文件被损坏或丢失才会出现的错误。下面提供了很多种解决方案。

方法一:拔掉连接到电脑设备或USB

如果在操作系统在正常情况下,USB端口的插入你的电脑或笔记本电脑可能会导致这个问题,我们将USB外设移除后查看是否解决问题。如U盘,移动硬盘等设备最为关键。

方法二:检查硬盘

步骤1、插入您的安装CD / DVD驱动器和电源的电脑,没有cd的话可以使用u盘启动工具进入pe然后运行cmd命令提示符。

步骤2、单Windows安装驱动,它通常是C:\ ,并单击Next。

步骤3、启动命令提示符。键入以下命令并执行——按下回车键

chkdsk C: /f

看看是否有任何错误在你的硬盘驱动器

Win10无法启动提示File:\boot\bcd\错误代码0xc00000f怎么办


方法三:修复你的电脑安装向导

要进行修复首先要有win10引导启动U盘或CD/DVD。

1、插入CD / DVD,选择好语言时间以及下拉和键盘输入方法并按 下一步。

2、在安装界面选择左下角的 修复 按钮,使用修复工具进行修复!

方法四:重建引导配置数据

步骤1、再次输入真正的可引导CD / DVD /随身碟/ USB在Windows的安装和启动电脑。当屏幕要求一个键然后按它继续引导过程。

步骤2 、选择语言,键盘、时间、货币和选择。

步骤3、单一的操作系统需要修复和选择聽Next。现在你在恢复环境所以选择命令提示符。

或者,您可以跟随本教程——聽到达这里如何开始启动Windows命令提示符时10失败。

步骤4、你会发现黑色面板,所以类型聽bootrec。exe并按Enter键。聽这将重建引导配置数据和发送你的电脑回到正常状态。

如果解决方案行不通,删除旧的BCD和重建一遍。为了这个目的,一个接一个,运行以下命令:

bcdedit /export C:\BCD_Backup c: cd boot attrib bcd –s –h –r ren c:\boot\bcd bcd.old bootrec /RebuildBcd

修复后重启计算机查看是否解决问题。

方法五:创建uefi分区

先使用Windows 10从USB安装媒体和引导,然后打开命令提示符步骤1 -在命令提示符中按顺序输入下面命令,按回车:

Diskpart list disk select disk 0 list partition Select Partition 1

create partition efi list partition partition 2 format fs=fat32

随后输入list vol 执行命令查看并记下200 m 的分区,假设这里Select vol 3 EFI分区是3,输入assign 按下回车键,最后输入:

bcdboot C:\Windows /l en-gb /s B: /f ALL 按下回车键,确保你的windows驱动器的驱动器是C和B是分配给EFI分区。

遇到同样问题的朋友们,只要按照上述步骤进行操作就可以解决因为File:\boot\bcd\ 丢失或损坏导致的错误代码:0xc00000f Win10不能启动的问题了。


HQY
« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。