Обновить bios hp linux

Обновлено: 06.07.2024

Не секрет, что производители материнских плат и ноутбуков не всегда дают возможность пользователям Linux обновить UEFI/BIOS прошивку так же ненавязчиво, как это делают пользователи Windows. Тем не менее для HP EliteBook 840G1, которым я пользуюсь, сделать это немногим сложнее.




Для этого дела понадобятся следующие артефакты:

  • FAT32 EFI System Partition (ESP)
  • WINE
  • Переменный электрический ток

FAT32 ESP

Ноутбуки линейки HP EliteBook содержат 3 режима загрузки. Узнать какой из режимов выбран можно в настройках UEFI/BIOS → System Configuration → Boot Mode . Данный раздел следует читать, если только выбран последний, бескомпромиссный режим UEFI , в остальных случаях можно проскочить.

  • Legacy
  • UEFI Hybrid with compatibility support module (CSM)
  • UEFI Native without CSM

Если вы внимательно читали топик про Linux kernel EFI Boot Stub, то вы наверняка знаете, что и как нужно сделать, для того, чтобы создать дисковый раздел. Можно использовать gdisk , parted или KDE Disk Partition для создания ESP раздела. Вот так выглядит уже готовый раздел.




Рекомендуется ESP раздел монтировать в /boot/efi , а не просто в /boot , для того чтобы можно было хранить образы ядра Linux и файлы загрузчика ОС на штатных линуксовых ФС, вместо того, чтобы все держать в FAT32 EFI System Partition.

Мы уже знаем, что UEFI/BIOS будет искать \EFI\BOOT\bootx64.efi , для чего абсолютный путь к файлу должен быть /boot/efi/EFI/Boot/Bootx64.efi , иначе все пропало и UEFI/BIOS не найдет загрузчик ОС! Обновлению системной прошивки это не помешает, но для чего же тогда нужна прошивка, если нельзя загрузить операционную систему? Очень немаловажно, что по-умолчанию GRUB-2 не копирует необходимый файл и поэтому bootx64.efi надо скопировать вручную.

Подготовка

Берем свежую прошивку с сайта HP, выбираем Linux в выпадающем списке ОС, затем BIOS, скачиваем… и обнаруживаем исполняемый файл для Windows — sp64081.exe . Нет, глаза нас не подвели.

Опытные пользователи бывают готовы к подобным сюрпризам, для чего держат Windows VM либо пользуются не-эмулятором WINE или и то и другое вместе, бо случаи бывают разные. Для распаковки файла возможностей WINE вполне достаточно. Запускаем:




Программа завершает работу с бестактной ошибкой, напоминая лишний раз о том, что нам подсунули не то, что мы ожидали.




Однако, это не должно никого волновать, так как файлы распакованы верно а сверх этого ничего и не требовалось.

Из этого списка нам понадобятся только 3 файла: L71_0137.bin , HpBiosUpdate.efi и HpBiosUpdate.s12 и теперь внимание: скопировать файлы нужно точно в указанные места.

Чтобы попасть в меню настройки UEFI/BIOS надо после включения нажать клавишу Esc или F10 а далее File → Update System BIOS .




После выбора Accept , процесс обновления стартует без прочих реверансов. Видимо зная цену своим аккумуляторам, производители обновляют прошивку только при включенном электрическом питании компьютера. 2-3 минуты, и процесс благополучно завершен.

UPDATE: По итогам здравых идей в комментариях необходимы некоторые дополнения.

Не секрет, что производители материнских плат и ноутбуков не всегда дают возможность пользователям Linux обновить UEFI/BIOS прошивку так же ненавязчиво, как это делают пользователи Windows. Тем не менее для HP EliteBook 840G1, которым я пользуюсь, сделать это немногим сложнее.



Для этого дела понадобятся следующие артефакты:

  • FAT32 EFI System Partition (ESP)
  • WINE
  • Переменный электрический ток

FAT32 ESP

Ноутбуки линейки HP EliteBook содержат 3 режима загрузки. Узнать какой из режимов выбран можно в настройках UEFI/BIOS → System Configuration → Boot Mode . Данный раздел следует читать, если только выбран последний, бескомпромиссный режим UEFI , в остальных случаях можно проскочить.

  • Legacy
  • UEFI Hybrid with compatibility support module (CSM)
  • UEFI Native without CSM

Если вы внимательно читали топик про Linux kernel EFI Boot Stub, то вы наверняка знаете, что и как нужно сделать, для того, чтобы создать дисковый раздел. Можно использовать gdisk , parted или KDE Disk Partition для создания ESP раздела. Вот так выглядит уже готовый раздел.



Рекомендуется ESP раздел монтировать в /boot/efi , а не просто в /boot , для того чтобы можно было хранить образы ядра Linux и файлы загрузчика ОС на штатных линуксовых ФС, вместо того, чтобы все держать в FAT32 EFI System Partition.

(4:549)$ grep efi /etc/fstab /dev/sda4 /boot/efi vfat rw,users,noauto 0 2

Мы уже знаем, что UEFI/BIOS будет искать \EFI\BOOT\bootx64.efi , для чего абсолютный путь к файлу должен быть /boot/efi/EFI/Boot/Bootx64.efi , иначе все пропало и UEFI/BIOS не найдет загрузчик ОС! Обновлению системной прошивки это не помешает, но для чего же тогда нужна прошивка, если нельзя загрузить операционную систему? Очень немаловажно, что по-умолчанию GRUB-2 не копирует необходимый файл и поэтому bootx64.efi надо скопировать вручную.

(4:569) sudo cp /boot/grub/x86_64-efi/core.efi /boot/efi/EFI/Boot/Bootx64.efi

Подготовка

Берем свежую прошивку с сайта HP, выбираем Linux в выпадающем списке ОС, затем BIOS, скачиваем… и обнаруживаем исполняемый файл для Windows — sp64081.exe . Нет, глаза нас не подвели.

(4:520)$ file sp64081.exe sp64081.exe: PE32 executable (GUI) Intel 80386, for MS Windows

Опытные пользователи бывают готовы к подобным сюрпризам, для чего держат Windows VM либо пользуются не-эмулятором WINE или и то и другое вместе, бо случаи бывают разные. Для распаковки файла возможностей WINE вполне достаточно. Запускаем:



Программа завершает работу с бестактной ошибкой, напоминая лишний раз о том, что нам подсунули не то, что мы ожидали.



Однако, это не должно никого волновать, так как файлы распакованы верно а сверх этого ничего и не требовалось.

Список файлов

Из этого списка нам понадобятся только 3 файла: L71_0137.bin , HpBiosUpdate.efi и HpBiosUpdate.s12 и теперь внимание: скопировать файлы нужно точно в указанные места.

(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

Чтобы попасть в меню настройки UEFI/BIOS надо после включения нажать клавишу Esc или F10 а далее File → Update System BIOS .



После выбора Accept , процесс обновления стартует без прочих реверансов. Видимо зная цену своим аккумуляторам, производители обновляют прошивку только при включенном электрическом питании компьютера. 2-3 минуты, и процесс благополучно завершен.

И как предлагается линуксоидам обновлять BIOS, когда производитель даёт это обновление в виде .exe файла? Мне нужно сходить лицензию Windows прикупить лишь для обновления BIOS?



я freedos на флешку ставил, помнится


даёт это обновление в виде .exe файла

За это нужно гасить.


MS DOS умеет екзешники запускать. Или там навороченный ГУЙ?


Под вайном пробовал?


На ноутбуках такого нет. Там BIOS очень минималистичен.



Тогда тебе повезло, ибо венда 7 имеет 30-дневный триал:)


Обычно под этим exe файлом скрывается самораспаковывающийся архив. Травишь на него 7z и радуешься полученным файлам.


.exe запускается и шъет сам? Или же это установщик прошивальщика? Если второе то поставь под вином и посмотри какие файлы он создатс, велика вероятность что .bin образ биоса будет валяться в одной из поддиректорий. Во всяком случае такой случай был у меня на одной материнке (не помню какой).


Обязательно напиши об этом производителю, пусть задумается.


Серьёзно? И где официально такой образ скачать? Но тем не менее для это очень не удобно т.к. у меня весь диск отформатирован в Ext4 и теперь придётся возиться с установкой Windows.


Лучше куплю следующим ноутбуком ASUS, у них можно обновлять биос с флешки.

Обязательно пожалуйтесь производителю. Вы купили его компьютер и не обязаны покупать еще и винду, чтобы обновить BIOS.

По теме: попробуйте в wine 1.5 запустить.


Можно послать их с активацией на 30 дней, а потом ещё 3 раза сбросить триал. Саму венду можно, если не ошибаюсь, поставить на внешний HDD.


По теме: попробуйте в wine 1.5 запустить.

Вот чего бы не стал делать. Т.к. за последствия сего действа никто отвечать не будет.


это неуважение к Ъ! казнить производителей которые выпускает обновление в виде .exe!

P.S может это какой-нибудь самораспаковывающийся архив в котором файл биоса? P.P.S А в самом биосе есть пункт обновления биоса?


Нет. Насколько я понял там через гуй вся установка происходит. В ноутбучные биосы имеют очень мало возможностей, пункта обновления там нет как и большинства других пунктов, которые есть на десктопных системах.


Ну вот это вообще эпично, да. А если оно в процессе попытается испольщовать что-то настоолько вин-специфичное, что вайну и не снилос? Все, прощай биос?


Вот чего бы не стал делать. Т.к. за последствия сего действа никто отвечать не будет.


Прискорбно. В моем ноутбучном биосе (тьфу, у меня ж UEFI) есть пункт обновление биоса (UEFI)


Почему еще никто не предложил flashrom? Поддерживает целую кучу флеша/чипсетов. Сам перепрошивал биос несколько раз на своей материнке.

Мне нужно сходить лицензию Windows прикупить лишь для обновления BIOS?


а что за нетбук?



потому, что автор жалуется на пакованые образы bios, а не отсутствие тулз по прошивке? я тоже пользовался flashrom, чтоб ноут самсунг прошить, но предварительно пришлось нагуглить прогу find_gz, которая из exe достала образ.


а для lenovo разве нету бутабельных iso-образов? Для моего thinkpada було такое.


Я сервер обновлял через винду установленную на флешке. Два дня убил чтобы найти приличный образ :(


Я сервер обновлял через винду установленную на флешке. Два дня убил чтобы найти приличный образ :(

Блин. Я вот на старой работе из-за этого вопроса с другим админом поспорил, он говорил что так не получится, а я утверждал обратное.
Он просто старше меня был (мне тогда ещё и 20-ти не было) и начальство ему поверило.


И как предлагается линуксоидам обновлять BIOS, когда производитель даёт это обновление в виде .exe файла?

А куда ты дел венду, которая с этим ноутбуком шла ? Снёс наверное ? И что ты хочешь от производителя ? Чтобы он тебе выпускал обновления для неподдерживаемой ОС ? А тебе не приходило в голову, что поддержка линуксов удорожает аппарат ? Нет ?


Лучше куплю следующим ноутбуком ASUS, у них можно обновлять биос с флешки.

Вот бы у них ещё ACPI нормальные были, ага. А в ноутбуках с UEFI прошивку можно хоть по сети обновлять.



Почему еще никто не предложил flashrom? Поддерживает целую кучу флеша/чипсетов. Сам перепрошивал биос несколько раз на своей материнке.

С ноутбуками он чаще всего не работает.


В моем ноутбучном биосе (тьфу, у меня ж UEFI) есть пункт обновление биоса (UEFI)

Оно и до UEFI было на некоторых Асусах и матерях от Epox, но таки да, повсеместное внедрение этой фичи в UEFI - несомненный прогресс (хотя пока для этого требуется раздел с Fat32).


всмысле? fat32 требуется только для загрузчика ОС, а обновить UEFI можно с любой ФС.


что именно могло не получится? O_O

У меня выбора не было, годный прошивальщик был только под винду. Я перепробовал штук пять досовых (типа awardsw.exe или как оно там) под тремя разными досами (freedos, dr dos, msdos нескольких версий), оно неработало. Грузился через grub+syslinx.



fat32 требуется только для загрузчика ОС, а обновить UEFI можно с любой ФС.

Это я к тому, вдруг восстанавливать надо будет после кривого биоса :))


А зачем нужно привязывать обновление BIOS к ОС в принципе?


производитель даёт это обновление в виде .exe файла?

ха-ха, у ТС винда головного мозга


А зачем нужно привязывать обновление BIOS к ОС в принципе?

Какбэ, больше не к чему привязывать. Вот недавно шил материнку ASUS PX79 - вообще без установленного процессора прошивается. Но, во-первых, такие технологии покачто - исключение, во-вторых, помимо BIOS метринки есть ещё разные фирмвари - Wi-Fi, BT и другие, которые шьются незаметно во время установки нового дравера. Платформенно-независимых драйверов ещё покачто не придумали, извини.

Какбэ, больше не к чему привязывать.

Как бы (делаю на этом акцент, ибо не надо 5.5 заниматься), нормальные вендоры матплат вообще биосопрошивалку в биос засовывают, чтобы не привязываться к OS.

BIOS (базовая система ввода/вывода), позволяющая операционным системам и оборудованию корректно взаимодействовать друг с другом, присутствует в каждом современном компьютере и располагается в чипе на материнской плате.

Чтобы узнать версию BIOS , выполните в Ubuntu следующую команду:

$ sudo dmidecode -s bios-version

FA

Чтобы посмотреть дату релиза BIOS вашего компьютера , выполните команду:

$ sudo dmidecode -s bios-release-date

04/09/2009

Узнаем марку нашей материнской платы :

SMBIOS 2.4 present.

Handle 0x0002, DMI type 2, 8 bytes

Base Board Information

Manufacturer: Gigabyte Technology Co., Ltd.

Product Name: GA-MA770-UD3

Как видим в моем случаем материнская плата фирмы Gigabyte. Заходим на официальный сайт и смотрим есть ли обновления для моего биоса. Оказывается я давненько не следил за обновлениями: у меня самый первый релиз.

Обзор версий моей материнской платы.

$ sudo aptitude search flashrom

$ sudo aptitude install flashrom

Установка утилиты для обновления bios.

Перед записью новой прошивки в БИОС, желательно сохранить старую версию , то есть скопировать прошивку, которая уже прошита в БИОСе, чтобы потом можно было легко восстановить все обратно:

/bios$ sudo flashrom -r bios_fa_09_04_2009.bin

Смотрим информация по нашему файлу:

/bios$ file bios_fa_09_04_2009.bin

Скачав последнюю версию Биоса обнаруживаем, что программа предназначена под операционную систему Windows, исправив это воспользуемся пакетом эмуляции wine, он поможет распаковать исполняемый файл.

Записываем скачанную прошивку в Биос на свой собственный риск:

/bios$ sudo flashrom -w MA77UD32.FKd

flashrom v0.9.2-r1028 on Linux 2.6.35-32-generic (x86_64), built with libpci 3.0.0, GCC 4.4.4, little endian

No coreboot table found.

Found ITE Super I/O, id 8720

This chipset supports the following protocols: LPC,FWH,SPI.

This flash part has status UNTESTED for operations: ERASE

The test status of this chip may have been updated in the latest development

version of flashrom. If you are running the latest development version,

work correctly for you with this flash part. Please include the flashrom

output with the additional -V option for all operations you tested (-V, -Vr,

-Vw, -VE), and mention which mainboard or programmer you tested.

Thanks for your help!

Flash image seems to be a legacy BIOS. Disabling checks.

Programming flash done.

Теперь можно перезагрузиться с новым биосом .

Хм, после перезагрузки отказала мышка (USB), клавиатура (USB), выходом пока почему, так получилось буду разбираться, а пока поставил работать мышь и клавиатуру через переходники PS/2 на usb.

Спасительные переходники на PS/2.

В ходе анализ экрана самотестирования устройств при загрузки и логов системы, причиной не работающих устройств подключенных к USB оказалось, что в БИОСЕ была отключена поддержка.

Включаем поддержку через BIOS:

Перезагружаем компьютер, F2 — Integrated Peripherals — USB Controllers было DISABLED. Включаю :

USB Controllers — Enable

USB Legacy Function — Enable

USB Storage Funtion — Enable

Смотрим версию биоса и дату после обновления:

/bios$ sudo dmidecode -s bios-version && sudo dmidecode -s bios-release-date

Таким вот образом можно пере прошивать БИОС из под нашей системы Ubuntu. На этом всё. А пока обновлю на предыдущий релиз.

Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:

Поблагодари автора и новые статьи

будут появляться чаще :)

Карта МКБ: 4432-7300-2472-8059

Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.

Читайте также: