It is no secret that motherboard and laptop manufacturers do not always allow Linux users to update UEFI/BIOS
firmware as unobtrusively as Windows users do. Nevertheless, for the HP EliteBook 840G1, which I use, it is a little harder to do this.
For this case you will need the following artifacts:
Laptops line HP EliteBook contain 3 download modes. You can find out which mode is selected in the UEFI/BIOS
→ System Configuration
→ Boot Mode
settings. This section should be read, if only the last, uncompromising mode of UEFI
selected, in other cases it is possible to slip.
If you carefully read the topic about the Linux kernel EFI Boot Stub , then you probably know what to do and how to create a disk partition. You can use gdisk
, parted
or KDE Disk Partition
to create an ESP partition. This is what the ready section looks like.
It is recommended that the ESP partition be mounted in /boot/efi
, and not just in /boot
, in order to be able to store Linux kernel images and OS loader files on regular Linux FS, instead of keeping everything in FAT32 EFI System Partition.
(4:549)$ grep efi /etc/fstab /dev/sda4 /boot/efi vfat rw,users,noauto 0 2
We already know that UEFI/BIOS
will search for \EFI\BOOT\bootx64.efi
, for which the absolute path to the file must be /boot/efi/EFI/Boot/Bootx64.efi
, otherwise everything is gone and UEFI/BIOS
will not find the bootloader OS! Updating the system firmware does not hurt, but why then need the firmware, if you can not boot the operating system? It is very important that by default GRUB-2 does not copy the necessary file and therefore bootx64.efi
must be copied manually .
(4:569) sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/Boot/Bootx64.efi
We take the latest firmware from the HP website , select Linux in the OS drop-down list, then the BIOS, download ... and find the Windows executable file - sp64081.exe
. No, our eyes did not disappoint.
(4:520)$ file sp64081.exe sp64081.exe: PE32 executable (GUI) Intel 80386, for MS Windows
Experienced users are ready for such surprises, for which they keep Windows VM or use a non-WINE emulator or both, since the cases are different. To unpack the file, the WINE capabilities are quite sufficient. Run:
The program closes with a tactless error, reminding once again that we were not given what we expected.
However, this should not worry anyone, since the files are unpacked correctly, and nothing was needed above this.
(4:529)$ ls -Rl sp64081/ sp64081/: 18188 drwxr-xr-x 1 root root 356 30 10:52 BIOSUpdate -rw-r--r-- 1 root root 2950466 4 2013 BIOSUpdateEFI.7z -rwxr-xr-x 1 root root 4838072 7 2013 HPBIOSUPDREC.exe -rw-r--r-- 1 root root 883 30 10:52 HPBIOSUPDREC.log -rwxr-xr-x 1 root root 2353368 18 2013 HpqPswd.exe -rwxr-xr-x 1 root root 77824 22 2012 Installer.exe -rw-r--r-- 1 root root 8388608 9 2013 L71_0104.bin -rw-r--r-- 1 root root 1543 24 2013 WSSP64081.rtf sp64081/BIOSUpdate: 2368 -rw-r--r-- 1 root root 259072 5 2012 CryptRSA32.efi -rw-r--r-- 1 root root 443904 5 2012 CryptRSA.efi -rw-r--r-- 1 root root 820784 8 2013 HpBiosUpdate32.efi -rw-r--r-- 1 root root 256 8 2013 HpBiosUpdate32.s09 -rw-r--r-- 1 root root 256 8 2013 HpBiosUpdate32.s12 -rw-r--r-- 1 root root 256 8 2013 HpBiosUpdate32.sig -rw-r--r-- 1 root root 16384 9 2013 HpBiosUpdate.dll -rw-r--r-- 1 root root 850512 8 2013 HpBiosUpdate.efi -rw-r--r-- 1 root root 256 8 2013 HpBiosUpdate.s09 -rw-r--r-- 1 root root 256 8 2013 HpBiosUpdate.s12 -rw-r--r-- 1 root root 256 8 2013 HpBiosUpdate.sig
From this list we need only 3 files: L71_0137.bin
, HpBiosUpdate.efi
and HpBiosUpdate.s12
and now note: you need to copy the files exactly to the specified places.
(4:534)$ ls -lR /boot/efi/EFI/HP/ /boot/efi/EFI/HP/: 8 drwxr-xr-x 3 root root 4096 22 2015 BIOS drwxr-xr-x 2 root root 4096 21 22:23 BIOSUpdate /boot/efi/EFI/HP/BIOS: 4 drwxr-xr-x 2 root root 4096 21 22:05 New /boot/efi/EFI/HP/BIOS/New: 8192 -rwxr-xr-x 1 root root 8388608 23 13:57 L71_0137.bin /boot/efi/EFI/HP/BIOSUpdate: 840 -rwxr-xr-x 1 root root 850512 8 2013 HpBiosUpdate.efi -rwxr-xr-x 1 root root 3916 21 22:23 HpBiosUpdate.log -rwxr-xr-x 1 root root 256 8 2013 HpBiosUpdate.s12 1291/7720MB
To get to the UEFI/BIOS
setup menu, after switching on, press the Esc
or F10
Esc
and then File
→ Update System BIOS
.
After choosing Accept
, the update process starts without other curtsies. Apparently knowing the price of their batteries, manufacturers update the firmware only when the computer’s power is turned on. 2-3 minutes, and the process is successfully completed.
UPDATE : According to the results of sound ideas, some additions are needed in the comments.
File
→ Update System BIOS
directly via the Internet if a network cable is connected. The update will not work over a wifi connection.7z e sp64081.exe
to unpack the archive.Source: https://habr.com/ru/post/306760/
All Articles