Как обновить биос ubuntu

Обновлено: 05.07.2024

У меня нетбук HP Spectre XT. Установленный BIOS - F14, а последний на их сайте - F26. Я хотел бы сделать обновление, но они предоставляют только исполняемый файл Windows. Я попытался загрузиться с FreeDOS (используя Ultimate Boot CD), но исполняемый файл не будет работать в DOS, только в Windows. Я не хочу нигде устанавливать Windows (у меня ее нет, я заменил ее с системного диска на Ubuntu). Итак, как я могу обновить только с установленной Ubuntu в моей системе? Я не пробовал Wine, он работает для этой цели?

3 ответа

Ты можешь использовать file-roller (в Nautilus: щелкните правой кнопкой мыши> откройте с помощью. > диспетчера архивов) или cabextract распаковать пакеты обновлений BIOS HP. Тот, который я только что попробовал, содержит два идентичных исполняемых файла MS-DOS, которые, в свою очередь, являются самораспаковывающимися архивами. Они содержат .bin файлы, представляющие собой обновление BIOS, которое вы ищете. Поместите его на USB-накопитель, и вы сможете настроить EFI BIOS для обновления с этого накопителя.

Этот метод отлично работал на HP EliteDesk 800 G2 TWR, когда я тестировал. Я предполагаю, что этот метод не поддерживается HP, поэтому я добавляю это предупреждение: обновление BIOS, в случае неудачи, может сломать ваш компьютер!

  • Операционная система: Ubuntu (установлена ​​в режиме UEFI)
  • Аппаратное обеспечение: HP EliteDesk 800 G2 TWR (L1G77AV)

Может быть, этот метод может работать и для других моделей компьютеров HP?

Примечание. USB-накопитель не требуется.

Обнаружить информацию о вашем компьютере

Это было сделано на компьютере Ubuntu 18.10.

Большинство компьютеров в настоящее время используют UEFI

Убедитесь, что в /boot/efi достаточно свободного места на диске, чтобы можно было сохранить двоичный файл BIOS.

Определить серийный номер HP

(В этом примере серийный номер HP был заменен на XXXXXXXXXX)

Определить текущую версию BIOS и дату

Загрузите последнюю версию BIOS

  1. Нажмите Поддержка
  2. Нажмите Поддержка и устранение неполадок
  3. В веб-форме скопируйте и вставьте ранее обнаруженный серийный номер HP (XXXXXXXXXX) и найдите его.
  4. Нажмите Программное обеспечение и драйверы.
  5. В качестве операционной системы выберите Windows.
  6. В качестве версии операционной системы выберите Window 10 (64-bit).
  7. Убедитесь, что последняя доступная версия BIOS новее, чем установленная на компьютере.
  8. Загрузите последнюю версию BIOS. (Для меня файл BIOS назывался sp90164.exe)

Извлеките двоичный файл BIOS

Обновить биос

  1. Перезагрузите компьютер и войдите в BIOS (обычно, нажав клавишу Esc вскоре после запуска компьютера).
  2. Выберите BIOS Setup
  3. Выберите Обновить системный BIOS
  4. Выберите Обновить BIOS с помощью локального носителя.

В моем случае для HP ProDesk 400 G4 Desktop Mini PC с Ubuntu 20.04 мне пришлось распаковать файл.exe (7z x spxxx.exe) и переместить *.bin в: /boot/efi/EFI/HP/DEVFW/firmware.bin . Пришлось переименовать файл *.bin в firmware.bin. После перезагрузки обновление биоса заработало. Я должен упомянуть, что перемещение *.bin в /boot/efi/EFI/HP/BIOS/New у меня не сработало. Надеюсь, это кому-то поможет.

Вот что я сделал, чтобы обновить BIOS на моем HP x2 210 G2, работающем только под Ubuntu 20.04 LTS.

Обратите внимание, что это действительно требует другого ПК с Windows, чтобы открыть исполняемый файл биос-обновление, но нет необходимости устанавливать окна на целевом компьютере, и вам не нужен диск восстановления окна или окна-ре или чего- либо подобное.

Решение основано на этой поддержку HP ответа, что документы HP для создания диска восстановления биоса, и немного проб и ошибок с пальцами скрещенными.

Используйте отдельную систему Windows, чтобы загрузить правильный исполняемый файл обновления BIOS для вашей системы с сайта поддержки HP. В моем случае файл назывался sp95703.exe (Обновление системы BIOS ноутбука HP, версия F.35 Rev.A).

Запустите исполняемый файл в системе Windows. Не волнуйтесь, это будет не пытаться установить обновление, но он будет открыть утилиту, которая создает диск для восстановления BIOS, как описано на сайте HP. Следуйте инструкциям по созданию USB-накопителя восстановления.

Выключите целевую систему, в моем случае HP X2 210 G2, вставьте USB-накопитель восстановления и снова запустите его.

Не секрет, что производители материнских плат и ноутбуков не всегда дают возможность пользователям 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: По итогам здравых идей в комментариях необходимы некоторые дополнения.

И как предлагается линуксоидам обновлять 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.

Изображение пользователя stylliaga.

столкнулся с такой проблемой.
шеф дал ноут, который принес из сервиски.
грит, поставь вынь.
ставлю вынь - не хочет ибо установщик не находит хард, который есть sata.
в сервиске биос поставили старый, без поддержки usb что сильно зарудняет работу и возможности определения в ручную типа соединения харда.
через диск биос не обновить ибо в досе он не видит привод почемуто.
но вот линь поставился на ура и все увидел(хотя usb все таки проигнорировал)
ноут Acer Aspire 5110
пришла мысля поставить линь и через него прошить bios.
порылся в и-нете и наткнулся на статью.
думаю пригодиться.

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

Где NewBIOS.bin - это имя скачанной прошивки. Также, можно добавить ключ -v чтобы программа проверила записанную прошивку и еще можно добавить ключ -V чтобы вывод работы был более информативным:

С остальными же ключами можно ознакомиться с помощью --help

$flashrom --help

/temp$ sudo flashrom
[sudo] password for krik:
Calibrating delay loop. OK.
No coreboot table found.
Found chipset "Intel ICH8/ICH8R", enabling flash write. OK.
Found chip "Macronix MX25L8005" (1024 KB) at physical address 0xfff00000.
Found chip "Macronix unknown Macronix SPI chip" (0 KB) at physical address 0x0.
Multiple flash chips were detected: MX25L8005 unknown Macronix SPI chip
Please specify which chip to use with the -c option.

На материнской плате установлено два чипа BIOS. Один главный, второй - запасной (в случае повреждения первого, прошивка восстанавливается со второго). Флэшер нашел оба этих чипа и предложил выбрать, который использовать. Чтобы выбрать чипсет - надо использовать ключ -c. Для этой материнской платы, чтобы прочитать уже стоящею прошивку БИОСа в файл, пришлось запустить ее с такими параметрами:

/temp$ sudo flashrom -r MyBIOS.bin -c MX25L8005

/temp$ sudo flashrom -Vvw -c MX25L8005 965PDQ6.12K

Где файл 965PDQ6.12K - и есть сама прошивка с официального сайта (на сайте расположены exe-файлы, но это всего-лишь SFX-RAR архив с самой прошивкой и программой-флэшером для ДОСа). Теперь можно перезагрузиться с новым биосом.
Настройки NVRAM (CMOS)

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