无法更新 Dell XPS 9310 Ubuntu 的设备固件

无法更新 Dell XPS 9310 Ubuntu 的设备固件

我收到此错误信息:

无法更新“安全启动 dbx 配置更新”:ESP 中的可执行文件被阻止,请确保 grub 和 shim 是最新的……

弹出错误消息

下一步我该怎么做?我必须重新安装 Ubuntu 吗?

答案1

我遇到了类似的问题。经过一番研究,我认为问题在于一些戴尔笔记本电脑有旧的引导加载程序,这些引导加载程序未使用,但现在被标记为不安全。

有一个有用的总结维基百科中有关该问题的信息fwupd以及错误报告其中有一些有用的建议。

答案似乎是识别并删除旧的不安全的引导加载程序。

请谨慎执行这些步骤,因为它可能会导致您的系统无法启动。

就我而言,错误是:

ESP 中的可执行文件被阻止,请确保 grub 和 shim 是最新的:/boot/efi/EFI/Boot/shimx64.efi Authenticode 校验和 [47b31a1c7867644b2ee8093b2d5fbe21e21f77c1617a2c08812f57ace0850e9f] 存在于数据库中

通过运行,sudo ls -al /boot/efi/EFI/Boot/我发现该文件的日期是 2017 年,因此相当旧(比该目录中的其他文件旧得多)。

efibootmgr -v我通过运行并检查对此文件的引用来确认该文件未被使用。

一旦我确定它是旧的并且未使用过,我就进行备份然后删除该文件(sudo rm /boot/efi/EFI/Boot/shimx64.efi)。

fwupdmgr update然后我可以使用(或者您可以使用 Ubuntu 软件中心)更新设备固件。

答案2

我想对此发表我的看法,因为这个问题(Secure Boot dbx Configuration Update 一遍又一遍地显示并被阻止进行简单的更新)似乎已经发生了很多次(不仅仅是在提到的戴尔机器上,我的是华硕笔记本电脑),并且我设法使用了一个解决方案,允许使用最简单的步骤来解决这个问题:只需使用命令的变体,因为sudo fwupdmgr update该命令会导致尝试失败,因为有一些部分或完整的更新,但更新仍然被错误地标记,因此我想我会尝试

sudo fwupdmgr update --force

这似乎起了作用,更新从我的更新列表中消失了,所有通知都停止了,更新本身的问题似乎也得到了解决,而系统现在完全可以运行并且稳定。希望这也能帮助其他人解决这个问题。

答案3

我相信这意味着您现有引导加载程序 (bootx64.efi) 的哈希值位于您尝试安装的 dbx 中。如果您成功安装了较新的 dbx,并且启用了安全启动,则您的系统将在启动期间停止,因为 bootx64.efi 不受安全启动信任。

我认为它给你的建议(更新至最新版本的 shim 和 grub)非常可靠。

您可以手动更新 dbx,但请小心,因为您可能会将自己锁定在系统之外(例如,如果您设置了 BIOS 密码,但忘记了该密码,您将无法启动系统!)。

我写了一篇文章来解释这一切是如何工作的,包括如何手动更新 dbx(再次要极其小心),希望它有所帮助:https://eclypsium.com/2022/07/26/firmware-security-realizations-part-1-secure-boot-and-dbx/

答案4

bootx64.efi我对拒绝名单有同样的问题/boot/efi/efi.factory,但至少在我的情况下,它看起来并没有真正被使用:

$ efibootmgr |grep '^Boot[0-9]*[*]'|sed -e 's/[*] .*//g'|while read i; do efibootdump $i | echo "$i:" `sed -e 's/^.*File(\([^)]*\)).*$/\1/g'`; done
Boot0000: \EFI\Boot\BootX64.efi
Boot0002: \EFI\PEBoot\bootx64.efi
Boot0003: \EFI\ubuntu\shimx64.efi
Boot0005: \EFI\ubuntu\shimx64.efi
$ 

我远非 EFI 专家,但我认为如果它不在任何启动配置中使用,那么我就不需要它。

所以我检查了一下,发现我身边有一个恢复 USB 驱动器,为了以防万一,我把它移到了 /home 下的某个地方,从 /boot/efi/efi.factory 中删除它,然后重新启动。然后 fwupdmgr 能够更新 DBX。

在我的系统(Dell XPS 13)上,经过一番查找,恢复分区有 2 个相同的可安装 FAT 映像(boot/efi.img 和 boot/grub/efi.img),它们都包含 efi/boot/bootx64.efi 下被列入黑名单的文件的字节相同的副本。

所以我的猜测是,笔记本电脑附带了现在被列入黑名单的 bootx64.efi,而一些极其谨慎的安装程序将现有的 EFI 配置移动到了 efi.factory 文件夹,然后用自己的内容替换了它。但我认为文件夹中efi.factory实际上没有任何内容是必需的。

相关内容