使用 GRUB 从 USB 驱动器运行 EFI 文件

使用 GRUB 从 USB 驱动器运行 EFI 文件

我正在使用这款 HP 笔记本电脑:

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

当我进入“ System Diagnostic”选项时我找不到任何更新 BIOS 的选项。

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

我正在运行 Linux,所以我更新 BIOS 的唯一方法是通过 USB 而不是从操作系统内部更新,因为 HP 不为 Linux 提供操作系统内 BIOS 更新。

我该怎么办?

答案1

如果您使用由 Windows BIOS 更新下载(例如sp96831.exe)“HP 系统 BIOS 更新实用程序”准备的 USB 记忆棒,请使用其第二个选项“创建恢复 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

使用 GRUB 从 USB 驱动器运行 EFI 文件

以下是如何使用已使用 UEFI 启动的硬盘上的 GRUB 安装从 USB 运行 EFI 文件。(此方法尚未在有问题的 HP 型号上进行测试,因此我不知道HpBiosUpdate.efi在这种情况下是否可用,但可能值得一试。)

插入 USB 并启动 GRUB,然后转到 GRUB shell(通常c用于命令行)。仔细检查您是否可以看到hdUSB 的额外设备:

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

您可能会看到 LVM 卷、更多分区、更少分区等,具体取决于您的系统设置方式,但最重要的是,我可以看到hdUSB 驱动器的单独分区,(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 shell 将具有 Tab 补全功能,用于输入以 开头的链式加载器文件名/

看起来,即使这些 HP EFI 文件出错,它们也会HpBiosUpdate.log在磁盘上留下一个日志文件(例如),您甚至可以cat从 GRUB 中获取该日志文件。

答案2

您找错了地方……
大多数 HP 笔记本电脑(包括这款)的 UEFI 包含 2 个程序:实际的 UEFI BIOS 本身和诊断工具。
您正在查看 Diagostics 工具,但 Bios 更新位于 UEFI 的 BIOS 部分。

答案3

你的图片看起来像是 AMI BIOS。应该可以使用 AMI BIOS 的强制刷新功能。

方法:

使用 FAT32 或 FAT 格式化您的 USB 闪存盘,请在执行此操作之前备份您的文件

将 BIOS 文件复制到闪存驱动器的根目录,并将其重命名为“AMIBOOT.ROM”

关闭计算机并插入 USB 闪存盘

按住 Ctrl+Home 键并打开电脑电源

按住 Ctrl+Home 直到 BIOS 更新完成

也可以看看 https://www.biostar.com.tw/app/en/support/faq_content.php?S_ID=392

相关内容