Чтобы запустить файл EFI с USB-накопителя с помощью GRUB

Чтобы запустить файл EFI с USB-накопителя с помощью GRUB

Я использую этот конкретный ноутбук HP:

https://support.hp.com/in-en/document/c04919819#AbT1

Когда я перехожу к своим " System Diagnostic" опциям, тоЯ не могу найти опцию обновления BIOS.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Я использую Linux., поэтому для меня единственный способ обновить BIOS — через USB, а не из ОС, поскольку HP не предоставляет встроенное обновление BIOS для Linux.

Что мне делать?

решение1

Если вы используете USB-накопитель, подготовленный с помощью загрузки обновления BIOS для Windows (например sp96831.exe, «HP System BIOS Update Utility»), используя его вторую опцию «Создать USB-флеш-накопитель для восстановления», эта утилита выводит на экран следующие инструкции по ее использованию:

Чтобы восстановить устройство с помощью флэш-накопителя, следуйте следующим инструкциям:

  1. Выключите устройство, подлежащее восстановлению.
  2. Вставьте флэш-накопитель в USB-порт.
  3. Включите устройство.
  4. Устройство может перезагрузиться до 3 раз, при этом индикаторы на клавиатуре будут мигать, а экран на короткое время станет пустым.

USB-флеш-накопитель для восстановления предназначен как последнее средство «для использования на устройствах с поврежденным BIOS», поэтому мне не ясно, нужно ли что-то делать по-другому, чтобы использовать его на системе с неповрежденным BIOS, или он работает точно так же, и возможно ли его вообще использовать.

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

Для справки, утилита просто помещает несколько файлов на мой существующий флэш-накопитель, отформатированный в FAT32, все в главную Hewlett-Packardпапку:

Folder PATH listing for volume HP_TOOLS
Volume serial number is B094-7398
F:\HEWLETT-PACKARD
+---BIOS
|   +---Current
|   |       080C1.bin
|   |       080C1.s12
|   |       080C6.bin
|   |       080C6.s12
|   |       080CD.bin
|   |       080CD.s12
|   |       08135.bin
|   |       08135.s12
|   |
|   +---New
|   \---Previous
\---BIOSUpdate
        CryptRSA.efi
        CryptRSA32.efi
        HpBiosMgmt.efi
        HpBiosMgmt.s09
        HpBiosMgmt.s12
        HpBiosMgmt.s14
        HpBiosMgmt32.efi
        HpBiosMgmt32.s09
        HpBiosMgmt32.s12
        HpBiosMgmt32.s14
        HpBiosUpdate.efi
        HpBiosUpdate.s09
        HpBiosUpdate.s12
        HpBiosUpdate.sig
        HpBiosUpdate32.efi
        HpBiosUpdate32.s09
        HpBiosUpdate32.s12
        HpBiosUpdate32.sig

Чтобы запустить файл EFI с USB-накопителя с помощью GRUB

Вот как запустить файл EFI с USB-накопителя, используя установку GRUB на жестком диске, уже загружаемом с помощью UEFI. (Это не было протестировано на рассматриваемой модели HP, поэтому я не знаю, HpBiosUpdate.efiприменимо ли это в данном случае, но, возможно, стоит попробовать.)

Подключите USB-накопитель, загрузитесь в GRUB и перейдите в оболочку GRUB (обычно cдля командной строки). Дважды проверьте, что вы видите дополнительное hdустройство для USB-накопителя:

grub> ls
(hd0) (hd1) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1) (hd1,gpt0)

Вы можете видеть тома LVM, больше разделов, меньше разделов и т. д. в зависимости от того, как настроена ваша система, но главное, что я вижу отдельный раздел hdдля USB-накопителя, (hd0)в данном случае, без собственного раздела -- раздел пока не будет виден, если USB-накопитель имеет только разделы MBR и модуль для чтения таблиц разделов MBR ( part_msdos) не загружен. Замените ваше USB-устройство для hd0нижеследующего.

Если для USB-накопителя вообще ничего не отображается: Я не знаю, относится ли это к рассматриваемой машине HP, но я обнаружил, что на ноутбуках UEFI в целом UEFI не всегда включает USB при запуске, поэтому GRUB даже не видит USB-накопитель при некоторых загрузках без объяснения причин. Если так, просто попробуйте еще раз, и если это не сработает, попробуйте другие способы загрузки (горячая загрузка, загрузка с использованием списка устройств и т. д.) Чтобы помочь с этим, я использую USB-накопитель с индикатором, который горит, когда он включен, поэтому я сразу понимаю, что он выключен, и мне нужно будет попробовать загрузиться снова.

Загрузите модуль раздела DOS:

grub> insmod part_msdos

Теперь вы должны увидеть раздел hd0:

grub> ls
... (hd0) (hd0,msdos1) ...

Оглянитесь вокруг:

grub> ls (hd0,msdos1)
Partition (hd0,msdos1): Filesystem type fat - Label `HP_TOOLS`, ...
grub> ls (hd0,msdos1)/
System Volume Information/ Hewlett-Packard/

Хорошо, выглядит хорошо. Давайте сделаем загрузку:

grub> insmod chain
grub> set root=(hd0,msdos1)
grub> chainloader /Hewlett-Packard/BIOSUpdate/HpBiosUpdate.efi
grub> boot

Обратите внимание, что после rootнастройки оболочка GRUB будет иметь функцию автодополнения Tab для ввода имени файла цепочечного загрузчика, начинающегося с /.

Похоже, что даже если эти файлы HP EFI содержат ошибки, они оставляют после себя файл журнала (например, HpBiosUpdate.log) на диске, который вы можете просмотреть даже catиз GRUB.

решение2

Вы смотрите не туда...
UEFI большинства ноутбуков HP, включая этот, содержит 2 программы: сам UEFI BIOS и средство диагностики.
Вы смотрите в средство диагностики, но обновление BIOS находится в разделе BIOS UEFI.

решение3

Ваши картинки выглядят как AMI BIOS. Должно быть возможно использовать функцию принудительного обновления для AMI BIOS.

Метод:

Отформатируйте USB-флешку в FAT32 или FAT, перед этим сделайте резервную копию файлов.

Скопируйте файл BIOS в корневой каталог флэш-накопителя и переименуйте его в «AMIBOOT.ROM».

Выключите компьютер и вставьте USB-флешку.

Удерживайте клавиши Ctrl+Home и включите питание ПК.

Удерживайте Ctrl+Home до завершения обновления BIOS.

Смотрите также https://www.biostar.com.tw/app/en/support/faq_content.php?S_ID=392

Связанный контент