Сменил свой домашний ноутбук с Dell Latitude E7470 на HP ProBook 440 G8. Переставил NVME SSD диск из Dell в HP и заодно решил обновить последнему прошивку.
До обновления была установлена версия прошивки T85 Ver. 01.22.00 от 22 августа 2025:
$ sudo dmidecode -t 0 # dmidecode 3.6 Getting SMBIOS data from sysfs. SMBIOS 3.3 present. Handle 0x0000, DMI type 0, 26 bytes BIOS Information Vendor: HP Version: T85 Ver. 01.22.00 Release Date: 08/22/2025 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 32 MB Characteristics: PCI is supported PC Card (PCMCIA) is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported Print screen service is supported (int 5h) 8042 keyboard services are supported (int 9h) Serial services are supported (int 14h) Printer services are supported (int 17h) ACPI is supported USB legacy is supported Smart battery is supported BIOS boot specification is supported Function key-initiated network boot is supported Targeted content distribution is supported UEFI is supported BIOS Revision: 22.0 Firmware Revision: 51.44
HP предлагает обновление прошивки в виде исполняемого файла для Windows, который можно скачать со страницы поддержки продукта. На момент написания этой заметки доступна версия 01.23.00 Rev.A от 16 января 2026 (имя файла sp168956.exe).
Я попробовал запустить его через Wine, но создание USB диска застопорилось на этапе выбора накопителя USB
К ноутбуку была подключена флешка на 16 Гб отформатированная в FAT32, но похоже в Wine не реализованы нужные функции для распознавания USB накопителей.
Дальше в ход пошла виртуальная машина с Windows 10. Там процесс создания USB диска завершился успешно
на флешке появился новый файл и несколько пустых директорий
HP
├── BIOS
│ ├── Current
│ ├── New
│ └── Previous
├── BiosUpdate
└── DEVFW
└── firmware.bin
7 directories, 1 file
Попробовал обновиться с этого диска, но каждый раз происходит ошибка "Системе не удалось найти один из двоичных файлов обновления BIOS".
Попробовал установить fwupd, но через него новую версию прошивки не находит, т.к. HP ProBook 440 G8 нет в списке поддерживаемых LVFS (я нашёл только упоминание HP ProBook 440/460 14/16 inch G11).
Дальше начал разбирать содержимое sp168956.exe, который может распаковать 7z
$ mkdir sp168956
$ cd sp168956/
$ 7z x ../sp168956.exe
7-Zip 25.01 (x64) : Copyright (c) 1999-2025 Igor Pavlov : 2025-08-03
64-bit locale=ru_RU.UTF-8 Threads:8 OPEN_MAX:1024, ASM
Scanning the drive for archives:
1 file, 114829680 bytes (110 MiB)
Extracting archive: ../sp168956.exe
--
Path = ../sp168956.exe
Type = PE
Physical Size = 114829680
CPU = x86
Characteristics = Executable 32-bit
Created = 2020-11-19 10:38:27
Headers Size = 1024
Checksum = 114841227
Name = hpsoftpaqwrapper.exe
Image Size = 327680
Section Alignment = 4096
File Alignment = 512
Code Size = 186880
Initialized Data Size = 126464
Uninitialized Data Size = 0
Linker Version = 14.16
OS Version = 6.0
Image Version = 0.0
Subsystem Version = 6.0
Subsystem = Windows GUI
DLL Characteristics = Relocated NX-Compatible TerminalServerAware
Stack Reserve = 1048576
Stack Commit = 4096
Heap Reserve = 1048576
Heap Commit = 4096
Virtual Address = 0x400000
Comment =
{
FileVersion: 0.2.56.9141
ProductVersion: 0.2.0.0
ProductVersion: 01.23.00
CompanyName: HP Inc.
FileDescription: HP BIOS and System Firmware (T70/T85/T87/T88/T89/T99)
InternalName: hpsoftpaqwrapper
OriginalFilename: hpsoftpaqwrapper.exe
ProductName: HP BIOS and System Firmware (T70/T85/T87/T88/T89/T99)
LegalCopyright: Copyright (c) 2024 HP Development Company, L.P.
Data Directories: 16
{
index=1 name=IMPORT VA=0x3A498 Size=200
index=2 name=RESOURCE VA=0x3F000 Size=57036
index=4 name=SECURITY VA=0x6D7FB68 Size=11784
index=5 name=BASERELOC VA=0x4D000 Size=11144
index=6 name=DEBUG VA=0x36970 Size=112
index=9 name=TLS VA=0x369E0 Size=24
index=10 name=LOAD_CONFIG VA=0x304D8 Size=64
index=12 name=IAT VA=0x2F000 Size=976
index=13 name=DELAY_IMPORT VA=0x3A3C4 Size=64
}
}
----
Path = [0]
Size = 114503528
Packed Size = 114503528
Virtual Size = 114503528
Offset = 314368
--
Path = [0]
Type = Cab
Offset = 16628
Physical Size = 114486899
Tail Size = 1
Method = LZX:15
Blocks = 1
Volumes = 1
Volume Index = 0
ID = 39400
Everything is Ok
Files: 28
Size: 209722236
Compressed: 114829680
В распакованных файлах видны несколько утилит, библиотек и *.bin и *.inf файлы которые скорее всего и являются прошивками под различные версии ноутбуков.
$ ls BCUsignature32.dll HpFirmwareUpdRec.exe license.txt T87_01230000.inf BCUsignature64.dll HpFirmwareUpdRec.txt logo.bmp T88_01230000.bin 'Bios Flash.htm' HpqPswd64.exe T70_01230000.bin T88_01230000.inf contents.txt HpqPswd.exe T70_01230000.inf T89_01230000.bin History.txt HpqPswd.txt T85_01230000.bin T89_01230000.inf HPFirmwareUpdate.jpg HPToastNotificationActivator64.exe T85_01230000.inf T99_01230000.bin HpFirmwareUpdRec64.exe HPToastNotificationActivator.exe T87_01230000.bin T99_01230000.inf
В файле 'Bios Flash.htm' нашёлся интересный абзац:
These methods require that the firmware binary file is present on USB media or the hard drive in a specific folder - either "HP\DEVFW" or "EFI\HP\DEVFW" will support this feature. The file must be named 'firmware.bin'. The HP Firmware Update and Recovery utility has a feature that will copy the image file to the correct folder on a USB device for you. If no firmware file is found on USB media, the system will look for a firmware file on the hard drive. If a BIOS administrator password has been set, the password will be required before being able to access the "Update System BIOS" menu or BIOS Setup. The firmware update will not be complete until the system is restarted.
Т.е. файл прошивки должен называться firmware.bin и находиться в директории HP\DEVFW для USB диска или EFI\HP\DEVFW если использовать обновление с SSD. Утилита от HP создавала на диске файл HP\DEVFW\firmware.bin размером 185 Мб, но размер отдельного BIN файла около 30 Мб. Не знаю почему не сработал штатный вариант, но попробую скопировать файл T85_01230000.bin в /boot/efi/EFI/HP/DEVFW/firmware.bin и попробовать обновиться с него.
$ sudo mkdir -p /boot/efi/EFI/HP/DEVFW $ sudo cp T85_01230000.bin /boot/efi/EFI/HP/DEVFW/firmware.bin
После этого перезагружаю ноутбук и запускаю обновление прошивки из загрузочного меню
Обновление прошло без ошибок, при этом ноутбук несколько раз самостоятельно перезагрузился. Версия BIOS после обновления:
# dmidecode 3.6 Getting SMBIOS data from sysfs. SMBIOS 3.3 present. Handle 0x0000, DMI type 0, 26 bytes BIOS Information Vendor: HP Version: T85 Ver. 01.23.00 Release Date: 11/06/2025 Address: 0xF0000 Runtime Size: 64 kB ROM Size: 32 MB Characteristics: PCI is supported PC Card (PCMCIA) is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported Print screen service is supported (int 5h) 8042 keyboard services are supported (int 9h) Serial services are supported (int 14h) Printer services are supported (int 17h) ACPI is supported USB legacy is supported Smart battery is supported BIOS boot specification is supported Function key-initiated network boot is supported Targeted content distribution is supported UEFI is supported BIOS Revision: 23.0 Firmware Revision: 51.44
Ещё нашёл информацию что HP предоставляет утилиту для обновления BIOS из Linux, но не пробовал её: https://ftp.hp.com/pub/caps-softpaq/cmit/linuxtools/HP_LinuxTools.html




Комментариев нет:
Отправить комментарий