Metabolix / HackBGRT

Windows boot logo changer for UEFI systems
MIT License
2.22k stars 239 forks source link

nothing changes #188

Closed Fr4Ckt3r closed 2 months ago

Fr4Ckt3r commented 4 months ago

What happens? Absolutely nothing changes, although setup is successful.

How this happens? Explain exactly the steps you did:

  1. Download HackBGRT-(version).zip and extract all files.
  2. Start setup.
  3. Select I (Install)
  4. Reboot the PC.
  5. Nothing changes.
  6. Start setup.
  7. Select R (Remove everything)
  8. Start setup.
  9. Select J (Alternative install)
  10. Reboot the PC.
  11. Nothing changes.

Log file Run the setup again and select menu option L (or add parameter show-boot-log on command line). Attach the setup.log to this report. setup.log

Fast Boot is disabled. Secure Boot is disabled. Board is MSI MAG Z390 TOMAHAWK.

Fr4Ckt3r commented 4 months ago

okay, it does work in legacy mode. it throws some errors like "failed to load something-something, switching to default loader" and then shows the changed image properly. error at the start is slightly annoying, but it works. 20240430_152324

Fr4Ckt3r commented 4 months ago

Update: It does NOT work properly. It is unknown how or why, but the image appearing is random as hell. There is either none, windows 10 logo or my custom image. After removing and reinstalling HackBGRT in legacy mode, I have managed to capture the error that appears:

Failed to open \EFI\MICROSOFT\BOOT\(unreadable chinese symbols) - Invalid Parameter
Failed to load image ??: Invalid Parameter
start_image() returned Invalid Parameter, falling back to default loader

Afterwards, my custom image was shown as it is supposed to be.

Metabolix commented 4 months ago

Absolutely nothing changes, although setup is successful.

Your log file shows that the boot order gets reset so that the Windows boot loader stays first. So after installing with the default method, you need to boot into UEFI Setup (available in the setup menu) to manually choose HackBGRT over Windows boot loader.

Apparently, some computers even have a setting for this feature, "Boot Order Lock", while some simply refuse to update the boot order. Looks like my computer has now gained the same feature, so BootOrder cannot be changed automatically anymore (not even from Linux or UEFI Shell) and it has to be changed manually. Once again OEMs are making things more difficult.

I will have to add this step into the instructions.

the image appearing is random as hell

HackBGRT is designed for "cold boot". It cannot work with suspend. Hibernation or Fast Startup (Hiberboot) or other Windows quirks may or may not work, it depends on how they are implemented in Windows. HackBGRT does not modify the firmware or the Windows boot loader, and never will. If it does not work for your use case, then it's unfortunately a dead end for you.

Failed to open \EFI\MICROSOFT\BOOT(unreadable chinese symbols)

This is a known problem in the shim boot loader (necessary for Secure Boot). If you cannot use the first options to properly install and change BootOrder, and if you have disabled Secure Boot, then you can use setup.exe install skip-shim install enable-overwrite to do the legacy install without shim, to avoid this error message.

Fr4Ckt3r commented 4 months ago

manually choose HackBGRT over Windows boot loader.

I did look for it, after checking out other issues on this repository, but it did not appear there. I only had Windows default boot loader as an option. Unless, I am confusing whatever you mean by "UEFI Setup"?

If it does not work for your use case, then it's unfortunately a dead end for you.

Fortunately, it wasn't, as patching boot logo in MSI bios is extremely simple and I just did that.

Anyway, the issue can be closed now, I suppose? Unless you want me to install HackBGRT with different .bmp and doing some stuff for testing purposes. It also should be noted that when I looked for HackBGRT in boot order, before I resorted to patching bios, I've had a quite old version of it (bios), dating to 2019. I've updated it to latest, which is 2022, Might not make much difference, but I decided to inform you just in case.

Metabolix commented 2 months ago

It's impossible to say why the entry is not visible for you. UEFI mainboards do all kinds of weird stuff. I've now documented this problem and that's as far as I'll go.

In case you want to dig it yourself, it would be interesting to get a report if you manage use another UEFI boot entry manager (such as Linux efibootmgr, or some third-party Windows tools) to create an entry for \EFI\HackBGRT\loader.efi and manage to enable that entry.