在Windows 7 64bit上重新创建BCD时遇到问题-找不到请求的系统设备


65

NVIDIA驱动程序升级使Windows 7安装崩溃,因此我正在努力消除损坏。

我可以做什么:我可以从USB驱动器引导Windows安装,也可以引导Hiren's Boot CD。尽管Windows自动修复失败,但是从USB驱动器引导Windows安装时,我可以进入命令提示符,并且可以看到驱动器和所有数据。

我不能做什么:我无法启动Windows-我收到此消息:

Windows failed to start. A recent hardware or software change might be the cause. To fix the problem:
1. Insert Windows CD and run a repair your computer option.
File: /Boot/BCD
Status: 0xc000000f
Info: an error occurred while attempting to read the boot configuration data.

我的/ Boot / BCD似乎有问题,因此我试图从头开始重新创建它。我尝试了这里详细介绍的所有方法(包括Windows修复失败),最后剩下的是该方法(在页面底部附近)。当我输入本教程中的以下命令时:

bcdedit.exe /import c:\boot\bcd.temp

...由于以下错误而失败:

The store import operation has failed.
The requested system device cannot be found.

许多Google结果表明,我必须使用diskpart将分区设置为活动状态,但是已经将其设置为活动状态。

另外,当我尝试这样做时:

bcdedit /enum

它失败,并显示类似消息:

The boot configuration data store could not be opened.
The requested system device cannot be found.

有谁知道该错误消息的含义,以及所请求的系统设备是什么?

我想避免重新安装Windows,因为磁盘上的所有文件似乎都很好。


您是否尝试过“ bootrec / RebuildBcd”命令?(无引号)
摩押人

4
是的,它可以让我选择Windows安装,但执行失败时显示“找不到所请求的系统设备”。
Domchi

请仅输入bcdedit并发布响应。
ThatGuyInIT 2011年

1
Windows 7默认情况下不将BCD或启动信息存储在C:分区上,而是将其存储在100MB分区上,并且该分区需要处于活动状态,而不是C:
ThatGuyInIT 2011年

2
肖恩,当我键入bcdedit时,我收到的错误消息与我键入bcdedit / enum时得到的错误消息相同,请参见上文。
Domchi

Answers:


55

解决问题时,它与您的问题并不直接相关,而是与您的原始描述(特别是在BCD操作中“尽管找不到所有请求的系统设备。”

如果从USB记忆棒启动,并且BIOS支持给定的USB插槽,但Windows PE /修复环境不支持,则可能发生此错误!

我花了两天时间才解决这个问题(无论如何,BCD商店始终无法使用此“找不到所请求的系统设备。”错误,无论如何,),我才发现问题仅在于USB插槽我插入了可启动的USB记忆棒。通过将其插入其他USB插槽(而不是USB 3.0,而不是USB 3.0),标准修复操作可以正常进行。

更糟的是,我后来发现是由于插入了错误的插槽并允许救援环境尝试自动修复,才使我一团糟!


更新:另一位用户(经过改进的计算机)与我联系以确认这也发生在他们身上;由于Windows 7 PE无法识别所有USB插槽,因此最终不得不拉出驱动器并在另一台计算机上进行维修。


更新:我什至都无法在笔记本电脑上重新安装Windows。从这篇文章中,我了解并意识到Windows 7 PE无法识别USB驱动器。尽管由于某种原因它从USB驱动器映像启动,但它无法启动安装过程。经过一整天的努力,最终我用DVD对其进行了尝试,并且可以正常工作。我正在使用联想W520


2
在花了3个小时尝试调试该错误消息之后,我感激不尽。严重的,谢谢!我从未想过使用USB3插槽会导致这种情况。
Corbin 2012年

4
+1哇,这里一样!分区变质后才拯救了我的性命。
mellamokb

现在,我拥有2个USB2.0驱动器,我感到非常高兴。最初,我对它们感到恼火(首选所有USB3),但现在我意识到它们的用处。我想知道为什么我的鼠标在恢复期间不起作用。那应该告诉我它由于某种原因不能识别3.0端口。
糖精

谢谢!这只是解决了我使用bootrec修复克隆的驱动器的失败尝试。流行win7在另一个插槽中恢复USB记忆棒,您将大声笑
迈克尔·尼尔森

6
很棒的发现。不幸的是,这不是我的解决方案。尝试从已以非UEFI模式启动的USB驱动器修复UEFI Windows安装也可能导致此错误。看到我的答案:superuser.com/a/959489/178217
Jan-Philip Gehrcke 2015年

50

对于我来说,其他答案都无济于事,而且我无法从DVD加载Windows RE。希望这个答案能引起我的注意。

我尝试了链接指南中的解决方案,但完全没有BCD(实际上我不知道它是否一开始就存在)。因此,让我不必重新安装整个系统的事情是:

bcdboot.exe C:\Windows /s C:

希望它能帮助某人。


更新:终于,我做了一个小的修改就对我起作用了。我的问题是这里列出的许多问题的综合问题(从木棍启动,拧紧初始工作的BOOT)。

我的问题是RE将我的Windows驱动器注册为D:\,而C:\正常情况下。跑步bcdboot.exe D:\Windows /s C:成功了!


3
没有其他工作,但这确实成功了!
bourbaki4481472 2015年

3
你是我的英雄。
欧文2015年

天哪,这是如此简单。没有一个可以通过手工废话一起破解BCD!
Bigbio2002

就是这样,如果您从USB闪存盘引导,则必须使用此方法,使用D:驱动器更新D:中的存储(-s)。
razor7'3-3-30

bcdboot.exe D:\ Windows / s C:为我工作,因为在恢复cmd行时它看到我的驱动器上所有东西都是D:
user1821961

19

所以,这就是我最终解决它的方法。

就像我在问题中提到教程的“大屠杀”一章中那样,重新创建BCD 最终还是有效的,但是做了一些小的修改。我在这个主题中有了主意。看来我收到的消息是告诉我bcdedit无法找到BCD存储。因此,不要输入以下内容:

bcdedit /import c:\boot\bcd.temp

...我只需要手动指向商店:

bcdedit /store c:\Boot\BCD /import c:\boot\bcd.temp

教程中的其余命令也需要这样做:

bcdedit /store c:\Boot\BCD <the rest of the command>

进行了此修改后,教程中的所有命令都将按预期工作。重新创建BCD时,我能够启动原始Windows。


9
这很奇怪,因为 无论如何bcdedit /? storeThis option may not be used with the /createstore, /import, or /export commands.尝试使用它都会使The store import command is invalid. Glad为您工作。
戴夫

同样的错误...有人有线索吗?
PLPeeters

2
戴夫(Dave)断言该/store标志不能与该/import标志一起使用是正确的-自己碰上这个。解决方案是不创建临时存储并导入,而仅使用/store所有命令的标志创建并在实际存储上工作。我只是通过这种方式来解决我的系统,并且它可以正常工作。我已经编辑了上面的答案以进行更正。
内森·布朗

那么编辑在哪里?
George Birbilis '16

@NathanBrown:您能解释一下您的意思吗?更好地添加一个完整的答案?您使用什么命令来解决此问题?
Adi Shavit

14

将磁盘上的Windows安装配置为进行UEFI引导时,会出现相同的问题,但是尝试从存储在以非UEFI(“旧版”)模式引导的USB驱动器上的命令进行修复过程。

因此,假设您有一个可启动的Windows 8安装USB驱动器,该驱动器无法以UEFI模式启动,而只能以旧模式启动。可能有人认为可以将BIOS设置从UEFI引导更改为传统引导。而且,实际上,在进行此更改之后,可以启动USB驱动器,当然可以访问Windows命令提示符。但是,在这种情况下,无法 “修复”磁盘上先前已在UEFI模式下安装和使用的Windows安装。

在这种情况下(引导模式为“旧版”,并从Windows 8安装USB驱动器引导),将执行bootrec /rebuildbcd失败The requested system device cannot be found。并BCDBoot C:\Windows失败了Failure when attempting to copy boot files.

解决方法是

  1. 创建合适的UEFI引导的USB驱动器(如与鲁弗斯如所描述这里),然后
  2. 将BIOS从“传统”启动模式切换回UEFI启动模式,然后
  3. 从USB驱动器启动

从这里开始的修复过程很成功:BCDBoot C:\Windows然后成功Boot files successfully created.

原来的问题是“错误代码:0xc0000034 -启动配置数据文件缺少所需的信息”,在Windows 8中,为讨论在这里


在BIOS强制UEFI模式让我可以顺利继续重置/ Windows 8的距离与先前创建的恢复驱动器重新分区(并完成!)
MLT

谢谢!我整个周末都在不重新安装Windows的情况下尝试修复系统。这个答案终于为我解决了。我必须创建一个适当的旧版BIOS可启动USB驱动器,因为我的Windows是使用旧版BIOS(不是我最初相信的UEFI)安装的。Windows安装和USB驱动器启动模式必须匹配。否则,bootrec /rebuildbcdand bcdedit命令将失败。
布朱

2

我对此问题有不同的原因和解决方案。就我而言,问题是我使用Windows 7 Enterprise ISO通过Unetbootin创建了可启动的USB闪存驱动器,具体方法如下:http : //www.webupd8.org/2010/10/create-bootable-windows-7 -usb-drive.html。基本上,说明说要使用ntfs格式化usb驱动器并使用Unetbootin v494(已过时),该功能仍具有允许您使用以ntfs格式化的驱动器的功能(此功能在以后的版本中消失了)。

我脑后有些刺痛地告诉我,非标准手术会引起头痛,但我没有理会。

在一个小时的论坛搜索之后,有人提到“不要使用可启动的USB驱动器,因为恢复环境会看到该分区表,而不是硬盘上的真实分区表”,或者类似的结果。

发现我的USB CD-ROM驱动器,把实盘在那里,跑bootrec /fixmbrbootrec /fixbootbootrec /rebuildbcd没有问题。然后从grub以及从BIOS引导列表中选择辅助硬盘时,Windows都可以正常启动。


2
The requested system device cannot be found.

将硬盘驱动器从MBR转换为GPT后,尝试修复Windows时出现相同的错误消息。当我尝试自动修复时,Windows甚至报告安装的版本不是兼容的Windows版本。我发现,MSI BIOS具有两个从DVD-ROM引导的选项,它们看起来与此类似:

SATA3:DVD Drive
UEFI:DVD Drive

仅当我手动选择UEFI引导时,它才会启动UEFI引导。否则,它仍会从DVD-ROM引导,但不在UEFI模式下。选择UEFI之后,我既可以手动又可以自动修复Windows 7系统。

我现在已经完全禁用从CD / DVD引导,迫使我使用BIOS引导菜单并选择如何引导。


1

我发现在这种情况下,“ EasyBCD ”确实非常有用。我建议您旋转一下,看看它是否无法保存。

希望对您有帮助。干杯!


我想要,但是要运行EasyBCD,我需要可启动的Windows7。我没有。以上是我正在使用的重新生成BCD的教程,但我无法继续进行,它实际上是从EasyBCD网站上获得的。EasyBCD可以从Windows修复控制台或Linux上运行吗?
Domchi

无法在Hiren的启动CD附带的Windows XP上安装它,应该安装.NET并自动取消本身时,安装会失败。但是,即使我安装了WinXP,也看不到带有BCD的NTFS磁盘...
Domchi

最后,我设法在另一台计算机上安装EasyBCD,并将其咀嚼在我复制到那里的BCD文件上。但是我从来没有尝试做任何有用的事情……
Domchi

1

引导Windows 7 x64安装光盘并启动启动修复,但是在开始尝试修复之前先将其取消,您将看到“高级选项”链接,该链接将使您进入命令提示符,需要制作100MB分区如果您错误地使OS分区处于活动状态,则为active。

  1. 将Windows 7 x64安装光盘放入光盘驱动器中,然后启动计算机。
  2. 当提示您按一个键。
  3. 选择一种语言,一种时间,一种货币,一种键盘或一种输入法,然后单击下一步。
  4. 单击修复您的计算机。
  5. 单击您要修复的操作系统,然后单击“下一步”。
  6. 在“系统恢复选项”对话框中,单击“命令提示符”。

    diskpart选择磁盘0选择第1部分处于活动状态

重新启动并重新引导到Windows 7 x64安装光盘。

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

http://support.microsoft.com/kb/927392


在步骤5。我没有列出任何操作系统。我没有问题,也没有100MB的分区,而且分区已经处于活动状态。我尝试了您提到的所有KB,但bootrec / RebuildBcd失败,并显示“找不到所请求的系统设备”。
Domchi

听起来可能是硬盘驱动器损坏或文件系统损坏。运行chkdsk / r您还可以使用Linux实时光盘(例如PartedMagic partedmagic.com)测试硬盘驱动器,该光盘具有一个名为GSmartControl的工具,用于检查硬盘驱动器是否存在错误并运行SMART测试。它还包含一个工具调用testdisk,可用于尝试和修复文件系统cgsecurity.org/wiki/TestDisk
ThatGuyInIT 2011年

硬盘和文件系统都可以-我可以从PartedMagic linux环境中看到所有数据。另外,TestDisk是我以前用来修复MBR的工具。在使用TestDisk之前,我什至无法访问该分区。我的问题肯定是错误的BCD文件,我真的很想知道为什么我无法重新创建它以及他找不到的请求的系统设备是什么。
Domchi

您只需在第3步按[Shift] + [F10]进入提示!
piksel bitworks,2013年

0

就我而言,以上解决方案均无济于事。

在VMware Esxi 6.5中重新引导Windows Server 2016 VM失败,并显示“找不到操作系统”。我怀疑在关闭过程中安装了更新。我无法使用diskpart,bootrec,bcdedit进行修复,也无法从“备份”还原。它也与EFI(安全启动)或BIOS模式无关。

解决方案是将Systemdrive(返回)更改为SCSI设备0:0。

我数周前添加的附加磁盘具有SCSI设备0:0,而系统驱动器位于0:1。我不知道怎么发生,但是我怀疑Vsphere Web-Client中的错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.