为什么固件更新不适用?

为什么固件更新不适用?

我无法在运行 Ubuntu 18.04 的 Dell XPS 9360 上应用固件更新。文件已复制到启动分区并在重新启动时找到,但重启完成后似乎并未应用更新。

更新程序

我最近将这台笔记本电脑从 16.04 升级到 18.04,这是我第一次收到固件更新可用的通知。单击通知将打开Ubuntu 软件显示可用的更新:

  • 版本 1.3.1.0XPS 13 9360 TPM 2.0
  • 版本 0.2.9.0XPS 13 9360 系统固件

按下Update AllUbuntu 软件,我可以确认(在终端中)*.cab文件已被复制/boot/efi/EFI/ubuntu/fw/并且我被要求重新启动。

重启期间,会显示一条简短消息确认已找到更新文件,并且屏幕会闪烁几次。在我看来,这似乎意味着系统在完成重启之前切换到更新模式并应用了更新。

结果失败

之后,系统正常启动进入 Ubuntu,但似乎尚未应用更新:

  • Ubuntu 软件仍然列出相同的更新
  • fwupdmgr仍然列出相同的更新
  • sudo dmidecode -s bios-version仍然显示旧版本 2.2.1,而不是 2.9.0
  • cat /sys/class/tpm/tpm0/ppi/version显示版本 1.3 而不是 1.3.1(我不确定这是否是检查 TPM 固件版本的有效方法;尝试安装时tpm-tools,启动裤子.服务失败的)

尝试过的替代方案

  • 尝试fwupdmgr导致相同的结果:文件最终进入启动分区并在重启时找到但未被应用。
  • 启动更新管理器并手动选择*.cap文件也失败(可以选择文件但无法继续,因为按钮保持灰色)

我的问题依然存在:如何应用Ubuntu 软件fwupdmgr

答案1

我发现本故障排除指南开发人员fwupdate建议尝试逐个应用更新:

启动到 fwupx64.efi 但什么也没发生

您是否同时应用多个胶囊?这可能意味着同时进行 TPM 更新和 BIOS 更新,或同时进行 FMP 更新和 BIOS 更新。我正在进行多个更新,但失败了

  1. 重新运行清理 systemd 单元。

    • 您需要删除一个状态文件(在 /var/lib/fwupdate/done 或类似位置 - 取决于发行版)
    • 这将从 EFI 系统分区、启动项和所有 NVRAM 变量中删除有效负载。
  2. 每次只重新运行一个更新。如果此方法解决了您的问题,请报告问题并附上相关详细信息。

按照以下步骤我成功安装了系统固件更新:

$ sudo fwupdmgr clear-offline
$ sudo fwupdmgr clear-history
$ sudo fwupdmgr install ${HOME}/.cache/fwupdmgr/afddc660b9a0f8045feaa4703f8258a5d197dad1-Signed_1152921504627781711.cab

重新启动后,DELL 系统固件自行更新。

我目前还无法安装 TPM 固件升级。也许有关如何解决应用单个更新时出现问题的故障排除指南有助于调试问题并找到足够的信息来提交错误报告。我还没有尝试过。

答案2

我能够通过清除 fwupd 历史记录并单独应用系统固件更新来应用系统固件更新。

根据这个帖子,您需要在应用 TPM 2.0 固件更新之前清除 TPM 所有者信息。但是,这样做可能会导致您无法访问文件,因此请先执行备份并验证。

相关内容