Skip to content

Instantly share code, notes, and snippets.

@alexey198233
Forked from eNV25/hp-bios-update.md
Last active September 18, 2024 23:26
Show Gist options
  • Save alexey198233/087a1a52d7a31b07bc4e114220561bac to your computer and use it in GitHub Desktop.
Save alexey198233/087a1a52d7a31b07bc4e114220561bac to your computer and use it in GitHub Desktop.
Instructions to Update the BIOS/UEFI for an HP Laptop on Linux

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

First method:

Download and install HP Linux Tools:

https://ftp.hp.com/pub/caps-softpaq/cmit/linuxtools/HP_LinuxTools.html

Run depmod after build and load hpuefi. Dont forget provide password , otherwise you get error "Cannot transfer this image!"

Tested on hp probook 440g6 Ubuntu 22.04

Second method:

I will explain using the example of the HP Probook 440g6 firmware.

The BIOS downloaded from the HP website is not intended for direct flashing (in my case, this is the R71_012800.bin file). The utilities on the HP_TOOLS section are needed to create the firmware.bin file (add few bytes to the beginning of the file), not for flash. The EFI/HP/BIOS/New path apparently serves only to display information about the firmware, it does not need to be created for flashing (that is why, if you have no HP_TOOLS partition, it complains about the incorrect firmware file size because it is not on the required path ). The firmware itself is created by utilities, copied into the EFI/HP/DEVFW folder and then flashed.

The algorithm is below:

  1. Download the exe archive with utilities and the BIOS archive inside.
  2. Unpack the archive, run the installation under Wine or VirtualBox.
  3. After running the utility, there will be a bunch of errors in the logs about the impossibility of creating a correct       firmware.bin file, since there is no full access to the WMI interface, but the firmwareRecovery.bin file will be created - this is the bios file for the firmware. It is created during the launch of HpFirmwareUpdRec and is deleted when it is closed. Minimize HpFirmwareUpdRec, copy the firmwareRecovery.bin file and rename it to firmware.bin
  4. Mount the EFI partition and copy firmware.bin to the EFI/HP/DEVFW folder.
  5. Reboot, go to bios. The firmware will start automatically when you go to the bios / firmware update section. Before flashing, make sure that the downloaded bios file exactly for your model (the list of supported models you can found in the History.txt file).

Инструкция по обновлению BIOS/UEFI (прошивка) для ноутбуков HP под Linux

Первый способ:

Загрузите и установите HP Linux Tools:

https://ftp.hp.com/pub/caps-softpaq/cmit/linuxtools/HP_LinuxTools.html

После сборки и загруки драйвера hpuefi обязательно запустите depmod (подробная инструкция по сборке есть внутри архива). При прошивке не забудьте указать корректный пароль к BIOS , иначе будет ошибка "Cannot transfer this image!"

Протестировано на ноутбуке hp probook 440g6 под Ubuntu 22.04

Второй способ:

Биос скачиваемый с сайта HP не предназначен для прошивки напрямую (в моем случае это файл R71_012800.bin ). Утилиты на разделе HP_TOOLS нужны для создания файла firmware.bin (добавляется несколько байт в начало файла) , а не прошивки. Путь EFI/HP/BIOS/New по всей видимости служит только для вывода информации о прошивке, его можно не создавать в принципе (по этому при отсутствии раздела HP_TOOLS, ругается на неверный размер файла прошивки т.к. его в принципе нет по нужному пути). Прошивка создается утилитами, копируется в папку EFI/HP/DEVFW и затем прошивается.

Алгоритм прошивки следующий:

  1. Скачиваем exe архив с утилитами и архивом биос внутри.
  2. Распаковываем архив , запускаем установку под вайн или virtualbox.
  3. После запуска утилиты в логах будет куча ошибок, о том, что невозможно создать корректный файл firmware.bin, т.к. отсутсвует полноценный доступ к интерфейсу WMI, но создатся файл firmwareRecovery.bin - это и есть файл bios для прошивки. Он создается во время запуска HpFirmwareUpdRec и удаляется при ее закрытии. Сворачиваем HpFirmwareUpdRec , копируем файл firmwareRecovery.bin и переименовываем в firmware.bin
  4. Смонтируйте раздел EFI и скопируйте firmware.bin в папку EFI/HP/DEVFW.
  5. Перезагрузитесь, зайдите в bios. Прошивка запустится автоматически, когда вы зайдете в раздел bios/firmware update. Перед прошивкой убедитесь, что скачанный файл bios именно для вашей модели (список поддерживаемых моделей вы можете найти в файле History.txt).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment