What exactly happens when "Re-create/repair boot files" is run?

Status
Not open for further replies.

SoWhy

New Member
Okay, hear me out. Lately, my PC no longer wants to hibernate. Trying to execute
Code:
shutdown /h

results in a

The requested system device cannot be found.(15299)

error. Trying to list the BCD entries with
Code:
 bcdedit /enum

gives me

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


When I check the BCD config in EasyBCD, all looks fine. I then used the "Re-create/repair boot files" option and hibernation works again. So far, so good. When I restore the computer from hibernation though, the same errors as above appear again until I run "Re-create/repair boot files" again. I compared EasyBCD backups from before and after the error was fixed but the information is, according to EasyBCD, identical.

While annoying, rebuilding the BCD before going into hibernation is not the worst idea but I'd rather understand why this happens. So my question is this: When I select "Re-create/repair boot files", what commands does EasyBCD actually run to re-create / repair the boot files? Because possibly something does not stick somewhere and is reset with each boot and I'd like to be able to pinpoint what.

TIA
SoWhy

PS: I don't know if it helps, but this is the configuration EasyBCD displays:
Code:
Windows Boot Manager
--------------------
identifier              {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device                  boot
description             Windows Boot Manager
locale                  en-US
inherit                 {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default                 {5bf3dd7c-0315-11e9-8786-005056c00008}
resumeobject            {f5df8e6b-03b4-11e9-bb37-005056c00008}
displayorder            {5bf3dd7c-0315-11e9-8786-005056c00008}
toolsdisplayorder       {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout                 10
resume                  Yes

Windows Boot Loader
-------------------
identifier              {5bf3dd7c-0315-11e9-8786-005056c00008}
device                  partition=C:
path                    \Windows\system32\winload.efi
description             Windows 7
locale                  en-US
osdevice                partition=C:
systemroot              \Windows
resumeobject            {f5df8e6b-03b4-11e9-bb37-005056c00008}
 
This bcdedit info helped me a lot.
Although this post is old, the problem still occurs and I haven't found any clear explanation, so I'll add my experience.
On my Windows7, when bcdedit /enum fails, an attempt to hibernate would fail too.
The problem also appears in control panel/advanced/startup : the default OS list is empty.
EasyBCD "Re-create/repair boot files" fixes it till the next hibernation.
BootIce fixes the problem as long as the BCD edit window is open.

I compared the registry and the BCD in both conditions.
When the problem is absent, the BCD is loaded in the registry HKLM,
and the BCD file is listed in the registry files, in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist
When the problem is present, the BCD is not loaded in HKLM and the file is not listed in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist.
It might be interesting to try adding this key when the problem occurs to see if it fixes it.

As far as I'm concerned, the problem occurs when the system needs to be booted in UEFI mode because of an M.2 disk.
My motherboard is an MSI X470.
I removed this disk, so I can boot in CSM mode and hibernate has no more problem.
 
Thanks for the input but this thread is 2 years old so I'm locking it.
I guess none of us knew the answer unfortunately.
 
Status
Not open for further replies.
Back
Top