Metabolix / HackBGRT

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

Problems with manual installation inside VMWare #173

Closed kronuschan closed 7 months ago

kronuschan commented 7 months ago

What happens? I'm doing some experimentations with this tool, after first boot in VMWare with secure boot enabled it says:

Failed to open \EFI\HackBGRT\S - Invalid Parameter
Failed to load image : Invalid Parameter
start_image() returned Invalid Parameter, falling back to default loader

image

I've not modified the config.txt file, the image I'm using is the default splash.bmp. After some time time it finally shows Verification failed: (0x1A) Security Violation with an OK at the bottom. I can only hit enter here, there's nothing to see. However, after hitting enter it immediately continues, the last 2 lines from the error above flash on screen and it then shows the default Windows boot logo and boots without HackBGRT, it doesn't give me a chance to add the certificate or hash from the grub EFI, and MokManager is never launched. image

Disabling secure boot helps somewhat but it still shows the 3 error lines and then shows HackBGRT's splash.bmp, however this doesn't fix the above error.

What am I doing wrong?

How this happens?

  1. Download the latest version of HackBGRT (v2.4.0)
  2. Run setup.exe and install with the standard option
  3. On boot it shows the 3 lines, and mok manager can't be used for some reason.

Log file setup.log is NULL

Metabolix commented 7 months ago

"Image" means executable in EFI error message.

The first error is caused by some extra data which bcdedit.exe always puts into the boot entry. The shim loader expects either nothing or a file name as the parameter. The bad data from BCDEdit causes an error. There's a report in shim (https://github.com/rhboot/shim/issues/370) about this problem and I've sent a pull request (https://github.com/rhboot/shim/pull/621) to fix it, but it's out of my hands. Meanwhile, do not use BCDEdit manually but find yourself a proper boot entry editor instead.

Assuming that you copied the provided shim and MokManager, the second error would mean that VMWare doesn't trust the same Secure Boot certificates as physical machines commonly do, or has specifically blocked these tools from loading. I can't provide any specific support for VMWare, but at least make sure you have the most recent version. There are guides for adding keys or hashes manually into VMWare Secure Boot, so you could also try those.