如何从 Windows exe 文件安装固件?

如何从 Windows exe 文件安装固件?

我想应用某些固件更新。在 PC 供应商网站上,它仅适用于 Windows,以 exe 格式提供。通过fwupdmgr更新可用,但版本不是最新的 - 与 exe 版本相差大约一年(根据随附的 exe txt 文件)

如何转换exe为可以通过安装的格式fwupdmgr

我跑过:

$ fwupdmgr get-details file.exe
The input is not of cabinet format

为什么是“内阁”?在UEFI 维基

UEFI Capsule 定义了固件到操作系统、现代且安全的固件更新接口。 [80] Windows 8、Windows 8.1、Windows 10[81] 和 Fwupd for Linux 支持 UEFI Capsule。

橱柜与胶囊相同还是胶囊使用橱柜格式还是......?

答案1

链接ThinkPad T480 的 Thunderbolt 控制器关键更新cab给出了如何使用有效负载替换 Linux 固件更新 (LVFS)文件中的有效负载exe并应用更新的示例:

这里是龙,你是你自己的,没有任何保证:

更新过程中还有一些注意事项:

  • 在 BIOS 中禁用 TB Assist 模式(如果您需要,AssistTBT.bin 可能是 TB Assist 模式的正确固件)
  • 使用 fwupgdmgr 更新 BIOS/UEFI,我今天/几天前收到了一个新更新,TB3 更新的自述文件表明您应该使用当前的系统固件
  • 下载n24th09w.exe
  • 您可以使用 innoextract 提取该文件
  • 如前所述,您正在寻找 TBT.bin
  • 下载之前提到的 T480s 的 LVFS 更新文件作为模板
  • 这是一个 cab 文件,使用 cabextract 之类的工具来提取它
  • 解压更新文件,将TBT.bin重命名为firmware.bin,去掉签名firmware.bin.asc
  • 更改firmware.metainfo.xml第6行以包含TB3控制器的GUID(应为fe328c2d-5300-597b-a21d-991116db8ab6)
  • 用lcab重新打包cab文件
  • 使用 fwupdmgr 安装生成的文件
  • 重新启动以获得良好的效果

或者:

您甚至不需要创建 CAB 文件。您可以将固件 bin 文件直接刷入控制器,风险自负:

sudo /usr/libexec/fwupd/fwupdate -a XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX TBT.bin

将 XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX 替换为您设备的 GUID。

我尝试走以前的路,在检查cab文件时fwupdmgr get-details我了解到,除了firmware.metainfo.xml符合<firmware type="flashed"GUID 之外,我还必须更新以下行才能通过检查:

<checksum type="sha1" filename="firmware.bin"
<checksum type="sha256" filename="firmware.bin"
<size type="installed" # size in bytes of firmware.bin

的内容firmware.jcat可以用 解压出来jcat-tool,是一些PGP和PKCS7的数据,不需要修改就可以通过检查,另外firmware.bin.asc上面说明中要删除的也包含PGP,可以保留在cab文件中(用它检查通过)。

相关内容