80

NVIDIA drivers upgrade crashed my Windows 7 installation, so I'm working to undo the damage.

What I can do: I can boot Windows install from the USB drive, and I can boot the Hiren's Boot CD. Although automated Windows repair fails, I can get to command prompt when I boot Windows install from USB drive, and I can see my drive and all my data.

What I cannot do: I cannot boot into Windows - I get this message:

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.

It seems that something is wrong with my /Boot/BCD, so I'm trying to recreate it from scratch. I've tried all the methods detailed here (including Windows repair which fails), and I'm left with the last one (near the bottom of that page). When I type the following command as in the tutorial:

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

...it fails with the following error:

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

Many Google results say that I must use diskpart to set my partition active, however it's already set as active.

Also, when I try this:

bcdedit /enum

It fails with similar message:

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

Does anyone know what does that error message mean, and what is the requested system device?

I'd like to avoid having to reinstall Windows since all the files on disk seem to be fine.

6
  • Did you try the "bootrec /RebuildBcd" command? (no quotes)
    – Moab
    Jun 27, 2011 at 4:23
  • 5
    Yes, it lets me choose my Windows installation, but when I do it fails with "The requestted system device cannot be found."
    – Domchi
    Jun 27, 2011 at 5:14
  • Please type just bcdedit and post the response. Jun 27, 2011 at 7:59
  • 2
    Windows 7 by default doesn't store the BCD or the boot information on the C: partition, it stores it on a 100MB partition and this partition needs to be active, not the C: Jun 27, 2011 at 8:04
  • 2
    Sean, I get the same error message when I type bcdedit as I get when I type bcdedit /enum, please see above.
    – Domchi
    Jun 27, 2011 at 8:27

11 Answers 11

66

Not directly related to your issue as you resolved it, but rather to your original description (particularly "The requested system device cannot be found." on BCD operations despite all attempts to recreate/rebuild):

This error can happen if you are booting from a USB stick, and your BIOS supports a given usb slot, but the windows PE/repair environment does not!

I spent two days pulling my hair out, wrestling with this issue (the BCD store was ALWAYS unavailable with this "The requested system device cannot be found." error, no matter what I did), only to find that the problem was simply the USB slot I was plugging my bootable USB stick in. By plugging it into a different (usb 2.0 instead of usb 3.0) slot, the standard repair actions worked fine.

To make matters worse, I later discovered that it was by plugging in the wrong slot and allowing the rescue environment to attempt auto-repair that I messed things up in the first place!


Update: Another user (improvedcomputers) contacted me to confirm that this also happened to them; as all their USB slots were unrecognized by Windows 7 PE they ended up having to pull the drive and perform the repair on another computer.


Update: I had hard time even reinstalling windows on my laptop. From this post I learned and realized the Windows 7 PE does not recognize USB drive. Although it booted from the USB drive image due to some reason it was not able to start up the installation process. After whole day of efforts finally I tried it with DVD and it worked. I am using Lenovo W520

12
  • 3
    After just spending 3 hours trying to debug that error message, I can't thank you enough. Seriously, thank you! I never would've imagined that using a USB3 slot would've been causing that.
    – Corbin
    Nov 24, 2012 at 2:30
  • 5
    +1 Wow, same here! Just saved my life after a repartition gone bad.
    – mellamokb
    Dec 21, 2012 at 7:14
  • I am exceedingly glad now that I have 2 usb2.0 drives. I was initially annoyed at them (preferring all usb3s), but now I realize how useful they are. I was wondering why my mouse wasn't working during recovery. That should've tipped me off that it wasn't recognizing 3.0 ports for some reason.
    – saccharine
    Oct 20, 2013 at 11:23
  • thanks! this just fixed my frustrating attempt to use bootrec to fix a cloned drive. Pop win7 recover USB stick in another slot and you're set to go lol Mar 29, 2014 at 18:36
  • 8
    Awesome find. Unfortunately this was not the solution in my case. This error can also be caused by attempting to repair a UEFI Windows installation from a USB drive that has been booted in non-UEFI mode. See my answer: superuser.com/a/959489/178217 Aug 19, 2015 at 9:02
61

Nothing from other answers helped in my case and I had no the ability to load the Windows RE from the DVD. Hopefully this answer trapped into my eyes.

I tried solutions from linked guides and finished with no BCD at all (actually I don't know if it was there in the start). So, the thing that saved me from reinstalling the whole system was:

bcdboot.exe C:\Windows /s C:

Hope it will help someone.


Update: This finally worked for me with one small modification. My issue was a combined problem of many listed here (booting from stick, screwing the initial working BOOT).

My problem was that RE registered my windows drive as D:\, while it was C:\ normally. Running bcdboot.exe D:\Windows /s C: did the trick!

11
  • 3
    Nothing else was working, but this did the trick! Sep 9, 2015 at 0:02
  • 3
    You are my hero.
    – Erwin
    Sep 30, 2015 at 15:34
  • Oh god, this was so simple. None of that hacking together a BCD by hand crap!
    – Bigbio2002
    Nov 17, 2015 at 6:46
  • 1
    This is it, If you boot from a USB stick, then you have to use this method, using D: drive to update the storage (-s) in D:.
    – razor7
    Mar 30, 2016 at 19:12
  • bcdboot.exe D:\Windows /s C: worked for me as while in recovery cmd line it saw my drive i had all my stuff on as D: May 28, 2017 at 23:45
19

So, here's how I finally solved it.

Recreating BCD as in the "nuclear holocaust" chapter of the tutorial I mentioned in my question worked in the end, but with one small modification. I got the idea in this thread. It seems that the message I got was telling me that bcdedit cannot find the BCD store. So, instead of typing this:

bcdedit /import c:\boot\bcd.temp

...I only needed to manually point to the store:

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

This is also needed for the rest of commands in tutorial:

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

With that modification, all the commands in tutorial work as expected. When I recreated BCD, I was able to boot my original Windows.

7
  • 10
    That's very strange, since bcdedit /? store says This option may not be used with the /createstore, /import, or /export commands. Trying to use it anyway results in The store import command is invalid. Glad it worked for you.
    – Dave
    Jul 1, 2013 at 0:32
  • Same error here... Has anyone got a clue?
    – PLPeeters
    Nov 5, 2013 at 0:34
  • 2
    Dave is correct in his assertion that the /store flag cannot be used with the /import flag - just run into this myself. The solution is to not create a temporary store and import but just create and work on the actual store using the /store flag for all commands. I just ran through it this way to fix my system and it works. I have edited the answer above to correct it. Jan 20, 2016 at 21:24
  • so where is the edit? Apr 26, 2016 at 16:49
  • @NathanBrown: can you explain what you mean? Even better add a complete answer? What commands did you use to fix this?
    – Adi Shavit
    May 24, 2018 at 9:24
15

The same problem appears when the Windows installation on disk is configured for UEFI boot, but the repair process is attempted from commands stored on a USB drive which has been booted in non-UEFI ("legacy") mode.

So, imagine you have a bootable Windows 8 setup USB drive which cannot be booted in UEFI mode, but only in legacy mode. One might think that one can simply change the BIOS setting from UEFI boot to legacy boot. And, in fact, after this change the USB drive can be booted, and one can access the Windows command prompt, of course. However, in that situation one cannot "repair" the Windows installation on disk which has previously been installed and used in UEFI mode.

In that scenario (boot mode "legacy" and boot from Windows 8 installation USB drive), execution of bootrec /rebuildbcd fails with The requested system device cannot be found. And BCDBoot C:\Windows fails with Failure when attempting to copy boot files.

The solution is

  1. to create a proper UEFI-bootable USB drive (with e.g. Rufus as described here) and then
  2. to switch the BIOS from "legacy" boot mode back to UEFI boot mode, followed by
  3. booting from the USB drive

The repair process started from there was successful in my case: BCDBoot C:\Windows then succeeded with Boot files successfully created.

The original problem was "Error Code: 0xc0000034 - Boot Configuration Data file missing required information" in Windows 8, as discussed here.

2
  • Forcing UEFI mode in BIOS allowed me to successfully proceed (and finish!) with resetting/repartitioning with previously created recovery drive from within Windows 8.
    – mlt
    Aug 13, 2016 at 2:11
  • thank you! I spent the whole weekend trying to fix my system without reinstalling windows. This answer finally solved it for me. I had to create a proper legacy BIOS bootable USB drive, because my windows was installed using legacy BIOS (not UEFI as I first believed). Windows installation and USB drive boot mode must match. otherwise the bootrec /rebuildbcd and bcdedit commands will fail.
    – Buju
    Jan 22, 2018 at 9:15
2

I had a different cause of and solution to this issue. In my case the problem was that I had used a Windows 7 Enterprise ISO to create a bootable usb flash drive with Unetbootin, per instructions here: http://www.webupd8.org/2010/10/create-bootable-windows-7-usb-drive.html. Basically, the instructions say to format the usb drive with ntfs and use Unetbootin v494 (outdated) which still had the feature to allow you to use drives formatted with ntfs (this feature disappeared in later versions).

Something tingly in the back of my head told me that non-standard procedure was going to cause headache, but I ignored it.

After an hour of forum searching, someone somewhere mentioned "don't use a bootable usb drive as the recovery environment will see that partition table and not the real one on the hard drive," or something to that effect.

Found my USB CD-ROM drive, put the real disk in there, and ran bootrec /fixmbr, bootrec /fixboot, and bootrec /rebuildbcd with no issues. Windows then started fine, both from grub and when the secondary hard-drive was chosen from the bios boot list.

2
The requested system device cannot be found.

I had the same error message when I was trying to repair windows after converting my hard drive from MBR to GPT. When I tried automatic repair, windows even reported the installed version was not a compatible windows version. I found out that the MSI bios had two options for booting from DVD-ROM which looked similar to this:

SATA3:DVD Drive
UEFI:DVD Drive

It would only start the UEFI boot when I manually selected it. Otherwise it would still boot from the DVD-ROM but not in UEFI mode. After I selected UEFI, I could both manually and automatically repair my windows 7 system.

I have now completely disabled to boot from CD/DVD, forcing me to use the bios boot-menu and choose how to boot.

2

In my case, I got an unbootable windows 10 system (BIOS boot method) after cloning the partitions (sectorwise copy) to a new drive. The system could still boot with the old drive installed, but it booted the installation from the old drive instead of the new drive, so it was clearly referencing the old drive by name or model or something like that.

Usually, you should be able to fix a problem like this by booting from an installation medium, and running bootrec /rebuildbcd - but in this case, the error message The requested system device cannot be found. popped up as bootrec tried to add the new system to the BCD. Also bcdedit exited with a similar error message. The bcd in C:\BOOT\BCD existed (pointing to the old drive), but obviously Windows didn't identify this file as the active BCD. Issuing bcdedit /store C:\boot\bcd indeed was able to list the BCD.

I ended up renaming the folder C:\boot to C:\boot.old and trying bcdboot e:\windows /s c:. This command existed without error, but didn't re-create C:\boot, although the destination was unambigously specified on the command line. It turns out, that the BIOS in that computer seems to support some basic level of EFI booting and booted the windows 10 recovery medium in EFI mode (with no indication of doing something like that in the boot medium select menu, or any possibility to turn EFI or legacy boot on or off). Finally

bcdboot e:\windows /s c: /f BIOS

did the trick. Windows booted without any issue or hickup from the new hard drive (both the old and the new drive were classic SATA drives, connected to the same SATA port).

1
  • +1 - tried all the other solutions in this post, this one worked as soon as I inputted the command for a borked Windows 10 system
    – Keanu
    Jul 18, 2022 at 21:12
1

I've found in situations like these, that "EasyBCD" is really really helpful. I suggest you give that a whirl and see if it can't save ya.

Hope that helps dude. Cheers!

3
  • I'd like to, but to run EasyBCD I need bootable Windows 7. Which I don't have. The tutorial to regenerate BCD I'm working with above, and which I can't follow through, is actually from EasyBCD website. Can EasyBCD be run from Windows repair console, or from Linux...?
    – Domchi
    Jun 27, 2011 at 3:45
  • Can't install it on Windows XP which comes with Hiren's Boot CD, install fails when it's supposed to install .NET and cancells itself automatically. But even if I installed it, WinXP doesn't see NTFS disk with BCD...
    – Domchi
    Jun 27, 2011 at 5:32
  • At the end, I managed to install EasyBCD on the other machine, and have it chew on my BCD file which I copied there. But I never managed to do anything useful with it...
    – Domchi
    Jul 9, 2011 at 23:02
1

Boot a Windows 7 x64 install disc and launch Start Up repair, but cancel it before it starts trying to repair, you will see a link for Advanced Options, which will allow you to get to command prompt, you will need to make the 100MB partition active if you made the OS partition active by mistake.

  1. Put the Windows 7 x64 installation disc in the disc drive, and then start the computer.
  2. Press a key when you are prompted.
  3. Select a language, a time, a currency, a keyboard or an input method, and then click Next.
  4. Click Repair your computer.
  5. Click the operating system that you want to repair, and then click Next.
  6. In the System Recovery Options dialog box, click Command Prompt.

    diskpart select disk 0 select part 1 active

Reboot and boot back into the Windows 7 x64 install disc.

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

4
  • On step 5. I don't have any operating systems listed. I don't have 100MB partition, never had, and my partition is already active, as I said in my question. I tried all that KB you mention suggests, but bootrec /RebuildBcd fails with "The requested system device cannot be found."
    – Domchi
    Jun 27, 2011 at 8:34
  • sounds like maybe a bad hard drive or corrupted file system. Run chkdsk /r You can also test the hard drive using a Linux live disc like PartedMagic partedmagic.com, which has a tool called GSmartControl for checking hard drives for errors and running S.M.A.R.T tests. It also contains a tool call testdisk, which can be used to try and repair the file system cgsecurity.org/wiki/TestDisk Jun 27, 2011 at 9:04
  • Hard drive and file system are OK - I can see all the data from PartedMagic linux environment. Also, TestDisk was what I previously used to fix MBR. Before I used TestDisk, I wasn't even able to access the partition. My problem is definitely the incorrect BCD file, and I would really like to know why I can't recreate it and what is that requested system device he can't find.
    – Domchi
    Jun 27, 2011 at 16:44
  • You can just press [Shift] + [F10] at step 3 to get to the prompt! Dec 13, 2016 at 12:21
0

In my case none of the above solution helped.

Rebooting a Windows Server 2016 VM in VMware Esxi 6.5 failed with "OS not found". I suspected an update which got installed during shut down. I was not able to fix it with diskpart, bootrec, bcdedit and restore from Backup. It had also nothing to do with EFI (secure boot) or BIOS mode.

The solution was changing the Systemdrive (back) to SCSI Device 0:0 .

An addition disk which I added weeks before had SCSI Device 0:0 and the Systemdrive was on 0:1. How this could happen, I dont know, but I suspect a Bug in Vsphere Web-Client.

1
  • What do you mean, "changing the Systemdrive"?! And back from where?! Jun 20, 2023 at 8:53
-1

Here's what happened to me in case it helps anyone:

  • Copy pasted partitions in GParted to an external HDD
  • Installed a new SSD
  • Copy pasted the partitions back in the same order

After that it didn't boot and I was trying the BCDEdit stuff and got the error message in the question.

However it turns out once I set the correct flags in GParted it booted fine. So either (1) all I needed to do was set the right flags, or (2) I needed to set the right flags and do bootrec /fixmbr and bootrec /fixboot (/rebuildbcd never worked).

Conclusion - make sure you set the right flags on any partitions you copy over. Here's what mine were: 4 partitions in a screenshot from GParted

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .