Skip to content

Instantly share code, notes, and snippets.

@eNV25
Last active Jul 22, 2022
Embed
What would you like to do?
Instructions to Update the BIOS/UEFI for an HP Laptop on Linux

Instructions to Update the BIOS/UEFI for an HP Laptop on Linux

The easiest way to should be to use HP PC HARDWARE DIAGNOSTICS 4-IN-1 USB KEY. You should use this option if your BIOS/UEFI does not have a "BIOS update" option.

Unfortunately HP's automatic tool only runs on Windows, but it is possible to make a USB key formatted manually by running the self-extracting executable on Wine. You cannot simply extract the executable using 7-zip because the executable needs to do some file generation.

According to HP this works for most hardware. For some cases you may need additional files. I have tired the following steps with an HP Pavilion 13-an0008ne Laptop only.

Format a bootable USB manually

Download the executable. You can get the URL to the latest executable from HP's website linked above.

$ wget https://ftp.hp.com/pub/softpaq/sp112501-113000/sp112853.exe

Run the executable using wine. This will extract its contents to ./sp112853.

$ wine sp112853.exe /s /e /f sp112853

Format the USB key with a GPT partition table with a single FAT32 "EFI System Partition". This is an example using fdisk. This will wipe the USB drive. Change /dev/sdX to your USB key.

# fdisk /dev/sdX

(fdisk) g        # Create a new GPT partition table
(fdisk) n        # Create new partition, leave all parameters as default
(fdisk) t        # Change type of partition
(fdisk) 1        # Type 1 is "EFI System Partition"
(fdisk) w        # Save and quit

# mkfs.vfat -F32 /dev/sdX1  # Make a new FAT32 file system.

Copy the files to the USB key.

# mount /dev/sdX1 /mnt
# cp -r sp112853/field/* /mnt
# umount /mnt

Add your BIOS file to USB key.

At this point you should have a bootable USB with HP's diagnostics software. You can try booting it to see it it worked.

First you'll need to find you updated BIOS image. You can find one by going to HP's Software and Drivers page, and input your serial number. Make sure you select Windows as your Operating System, otherwise it may not show the updates.

These drivers often also come in Windows executables, you should run them in wine. The executable will fail to automatically install first, then it will give options on what it should do. Select "Copy" and select a directory where to copy the BIOS image and the key file.

$ wget https://ftp.hp.com/pub/softpaq/sp112501-113000/sp112516.exe
$ wine sp112516.exe /s /f sp112516           # extract and execute

There should be a .bin and an .s12 file. Copy these files to the USB key to the folder /Hewlett-Packard/BIOS/New.

# mount /dev/sdX1 /mnt
# mkdir /mnt/Hewlett-Packard/BIOS/New
# cp sp112516/084C5{.bin,.s12} /mnt/Hewlett-Packard/BIOS/New
# umount /mnt

Using HP System Diagnostics to Update the BIOS/UEFI

At this point you should have the USB formatted with the BIOS added. Now you can boot the USB key.

Once booted you will be asked for your language and some two numbers. Input anything, it doesn't matter. You should be presented a menu and there should and option "BIOS Management". Select "BIOS Management" > "Update BIOS". Your BIOS will start updating. You may need to manually select the BIOS file if not automatically detected.

Sometimes the "BIOS Management" option does not show. I had to press "F2" in firmware options to load built-in System Diagnostics first, then boot the System Diagnostics USB key, for the option to be shown. ( Yes there seem to be two versions of HP System Diagnostics, but the built‑in one is much more minimalist and did not have a "BIOS Management" option. )

@mxkrsv
Copy link

mxkrsv commented Jan 16, 2022

Yo @eNV25, just tested on 2012-2013 laptop (hp envy 6-1153er) and it required no additional steps (everything just worked), so I guess that section with warning may be removed.

@eNV25
Copy link
Author

eNV25 commented Jan 19, 2022

The links don't work anymore. I will try to update. But the site still mentions something about "Additional Softpaqs for BIOS recovery support on 2020 (and previous) products".

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