winsiderss / systeminformer

A free, powerful, multi-purpose tool that helps you monitor system resources, debug software and detect malware. Brought to you by Winsider Seminars & Solutions, Inc. @ http://www.windows-internals.com
https://systeminformer.sourceforge.io
MIT License
10.8k stars 1.38k forks source link

System Informer freezes as Admin (lazy load shutdown boot menu) #2141

Open b1scu1t opened 1 month ago

b1scu1t commented 1 month ago

Brief description of your issue

If System Informer is run as Admin, right-clicking the tray-icon or selecting the 'System' menu bar item in the window, will freeze the program for minutes to indefinitely. System Informer sometimes becomes impossible to kill by Task Manager, even when elevated.

Steps to reproduce (optional)

  1. Launch System Informer as Admin
  2. Right-click on the tray icon or hover the 'System' item in the menubar.

Expected behavior (optional)

A sub-menu should appear.

Actual behavior (optional)

System Informer freezes. Oddly enough, the tray icons would continue updating normally while SI froze.

Environment (optional)

System Informer 3.0.7660 (Stable) & 3.1.24192 (Canary)
Windows 10 LTSC IOT 2021 (Build: 19044.4651)
Windows 11 LTSC IOT 2024 (Build: ???)
dmex commented 1 month ago

hover the 'System' item in the menubar.

There's a few different things named System. Are you referring to the System process or System Information?

System Informer is run as Admin,

Do you have any extra characters in the window title + or ~?

b1scu1t commented 1 month ago

hover the 'System' item in the menubar.

There's a few different things named System. Are you referring to the System process or System Information?

No. The System Informer's windows itself, in the menubar. image

System Informer is run as Admin,

Do you have any extra characters in the window title + or ~?

image No special characters here.

dmex commented 1 month ago

Can you open cmd.exe and copy the output from bcdedit /v?

b1scu1t commented 1 month ago

Somehow the bcdedit /v hangs? image It showed this after 10 minutes...

A busted BCD config? I re-installed Windows just last week with default settings...

Edit: bcdedit /v,bcdedit /enum or bcdedit /store returns the error, but accessing the data store directly doesn't. image

dmex commented 1 month ago

selecting the 'System' menu bar item in the window, will freeze the program for minutes to indefinitely.

The system menu enumerates boot entries so you can restart directly into firmware or Windows Defender Offline Scan:

image

You'll need to fix bcdedit to resolve the issue with the System menu.

A busted BCD config? I re-installed Windows just last week with default settings...

If the system is booting correctly but bcdedit isn't working then there might be some issue with the partition:

https://superuser.com/questions/1261017/bcdedit-exe-refuses-to-open-system-store

b1scu1t commented 1 month ago

selecting the 'System' menu bar item in the window, will freeze the program for minutes to indefinitely.

The system menu enumerates boot entries so you can restart directly into firmware or Windows Defender Offline Scan:

image

You'll need to fix bcdedit to resolve the issue with the System menu.

A busted BCD config? I re-installed Windows just last week with default settings...

If the system is booting correctly but bcdedit isn't working then there might be some issue with the partition:

https://superuser.com/questions/1261017/bcdedit-exe-refuses-to-open-system-store

That's exactly what I'm looking at right now. The partition type is correct and the system boots fine, dunno why bcdedit is busted.

In any case, this isn't a SI bug. Sorry, should I close this?

b1scu1t commented 1 month ago

OK, the problem has been resolved. Just followed the instructions on Minitool's site. Solutions 4 and 6 in particular, both in the Command Prompt of the Recovery Environment:

4. Set an Entry Point in BCD

Some users reported that the error can be solved by setting an entry point in BCD. It may seem strange but worth trying. Here’s how:

Step 1. Open the elevated Command Prompt window as we explained in the first solution.

Step 2. Type the following command and hit Enter. The /set command will set an entry point and enable the system to trust the Windows version that is not trusted by default.

bcdedit /set {current} Description “TheNameYouWant”

*Replaced {current} with {default} in the Recovery Environment

6. Rebuild BCD

If none of the above methods fix the “bcdedit: The boot configuration data store could not be opened” error, you can consider manually rebuilding BCD in WinRE. To do so, you need to use the Windows 10 media creation tool. Here’s how to do that:

Step 1. Plug the installation media into your computer and boot it from the media.

Step 2. Once started, click on Next > Repair your computer > Troubleshoot > Command Prompt in order.

Step 3. In the elevated Command Prompt window, type the following commands in order and hit Enter after each one.

bootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcd

bootrec /fixboot failed in my case, but every other command listed here worked. bcdedit /enum works now, and it listed the in Registry! image

Edit:...and it started failing again, when it worked just a while ago. I give up, Windows will give me a stroke.

oddMLan commented 1 month ago

Not fixed! I can fully reproduce the same hang except it's only a couple seconds long. Bcedit is normal on my end and it instantly enumarates the boot entries across my 3 disks. Using Windows 10 22H2. image image

The delay is very annoying. Setting EnableShutdownBootMenu to 0 gets rid of the delay. Maybe you should lazy load the boot entries only as the user hovers on the shutdown boot menu, not every time one clicks on the 'System' menu.

@b1scu1t can you reopen the issue please?

dmex commented 1 month ago

Setting EnableShutdownBootMenu to 0 gets rid of the delay. Maybe you should lazy load the boot entries only as the user hovers on the shutdown boot menu, not every time one clicks on the 'System' menu.

It's already lazy initialized. Windows also caches boot entries in the HKEY_LOCAL_MACHINE\BCD00000000\Objects registry key and we just enumerate these registry keys to show the current boot entries.

If there's a delay it's because something is preventing Windows from caching the HKEY_LOCAL_MACHINE\BCD00000000\ keys.

oddMLan commented 1 month ago

I exported the registry key. Does it look normal? BCD00000000_Objects.reg.txt