Skip to content

Instantly share code, notes, and snippets.

@rlindooren
Forked from baatochan/README.md
Created July 3, 2024 08:52
Show Gist options
  • Save rlindooren/03f190e7e47b057846ec712dd32faa46 to your computer and use it in GitHub Desktop.
Save rlindooren/03f190e7e47b057846ec712dd32faa46 to your computer and use it in GitHub Desktop.
How to remove a custom UEFI/BIOS logo on HP laptops

How to remove a custom UEFI/BIOS logo on HP laptops

Tested on HP Elitebook 840 G3. You may also use this tool to change the logo to your own custom one.

Why am I writing this gist?

Recently I acquired an used HP Elitebook 840 G3. Everything was fine with it, but it had a custom UEFI logo when starting the OS - it was branded by the company that owned this laptop before.

As it became my personal laptop I didn't want it to be branded by them and I tried to find a way to restore the original HP/Windows logo (it had the custom logo during POST and during the OS startup as well).

Surprisingly it wasn't easy to find a solution - there were some forum posts with the same issue and partial solutions, but there was no step-by-step guide. So I decided to write down my experience with removing that logo.

Sources

Needed files/apps

How to do it?

  1. Download files listed above - they are distributed in the same way as HP drivers are
  2. "Install" both of them on - instalator will just unpack the required files into "C:/SWSetup"
    Note: I haven't tried to download and unpack the required files on Linux - maybe there is a way as these exe files are simple extractors, but I don't know, sorry.
  3. Prepare an USB flash drive - empty it, format it with FAT32 and copy both of the required files (Shell_Full.efi and CustomLogoApp.efi) into the root of the drive
  4. Connect the USB drive to the HP laptop
  5. Turn the laptop on
  6. Disable Secure Boot (if enabled) - BIOS -> Advanced -> Secure Boot Configuration -> Configure Legacy Support and Secure Boot -> Legacy Support Disable and Secure Boot Disable
  7. Enter Boot menu (F9 key or ESC key and select Boot menu)
  8. Select Boot from file
  9. Locate your USB drive
    Note: In my case the internal SSD is completely empty (with no partition) so there is only one position, in your case there might be more and you need to find the one that will list the content of the USB flash drive.
  10. Select Shell_Full.efi
    Note: I had a problem with printing a text from the shell, it looked bad, but I could somehow read what was written.
  11. In the shell move to the USB drive (it will list the connected devices) - it will probably be fs0: or fs1:.
    Note: Use ls to list the content of the current directory, cd to enter a directory (if needed) and cls to "clear" the screen and move your prompt to the first line.
  12. Enter CustomLogoApp.efi -e to remove the custom logo (or CustomLogoApp.efi logofilename.jpg to set a custom logo)
  13. Enter exit or turn the laptop off
  14. During the next boot you should have a generic HP logo

What I tired and it didn't work?

So the first thing I tried was obviously to reset the BIOS settings (using both "Apply factory defaults" and "Apply custom defaults"), but it did nothing to the logo. I also tried updating the BIOS version (using the prepared USD drive as well as using the online BIOS update from the BIOS itself).

Then I started googling and found out that there is a tool called eRepLogo.efi. After reading the manual for that tool I prepared the USB drive and entered EFI Shell. Unfortunately that tool was too old and didn't work with the newer HP laptops (but if you have older one then you may try it - it's part of sp58176.exe), using it on HP Elitebook 840 G3 (with /e to erase or logofilename.jpg to set) resulted in an error "Failed to read ROM".

More googling led me to the app called CustomLogoApp.efi which was exactly what I was looking at. The only issue was that it was distributed by HP WITHOUT the required EFI shell and any documentation so it could be confusing. There is also a way to change/remove the BIOS logo using the HP Client Management Script Library (CMSL) in Powershell on Windows, but as my laptop doesn't have any OS installed I haven't tried that method.

@rlindooren
Copy link
Author

Notes about I used the instructions above to remove the custom logo from my HP Z440 workstation:

Original: https://gist.github.com/baatochan/0d1b21cb9c3cdf84cd12666a701d682e?permalink_comment_id=5109605#gistcomment-5109605

Since I'm running Linux I used these files:

My USB thumb drive was mapped to fs1:. Interestingly I couldn't use ls for it, but ls did work in fs0: (which was mapped to a SSD drive).

The steps I took:

  1. Type cd fs1: followed by [enter], make sure that the prompt is updated to fs1
  2. Type CustomLogoApp.efi -e followed by [enter], a message is shown that the custom logo was removed successfully.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment