我收到此错误消息:
无法更新“安全启动 dbx 配置更新”:ESP 中的可执行文件被阻止,请确保 grub 和 shim 是最新的...
接下来我该怎么办?我需要重新安装 Ubuntu 吗?
我有类似的问题。经过一番研究后,我认为问题在于一些戴尔笔记本电脑具有未使用的旧引导加载程序,但现在被标记为不安全。
wiki 中提供了该问题的有用摘要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 软件中心)更新设备固件。
小智 5
我想我会对此添加我的塔彭斯,因为看来这个问题(Secure Boot dbx Configuration Update
在一个简单的更新中显示并被阻止)已经发生了很多次(不仅仅是在提到的戴尔机器上,我的是一台华硕笔记本电脑),我设法使用一个解决方案,允许使用最简单的一组步骤来解决问题:只需使用 的变体,sudo fwupdmgr update
因为该命令将导致尝试失败,因为已经进行了一些部分或完整更新,但更新仍然存在标记错误,因此我想尝试一下
sudo fwupdmgr update --force
Run Code Online (Sandbox Code Playgroud)
这似乎已经成功了,更新从我的更新列表中消失了,所有通知都停止了,更新本身的问题似乎得到了解决,而系统现在完全可以运行并且稳定。希望这也能帮助其他人解决这个问题。
小智 2
我相信这意味着您现有的引导加载程序 (bootx64.efi) 的哈希值位于您尝试安装的 dbx 中。如果您成功安装了较新的 dbx,并且启用了安全引导,则您的系统将在引导期间停止,因为 bootx64.efi 不受安全引导信任。
我认为它给您提供的更新到最新版本的 shim 和 grub 的建议非常可靠。
您可以手动更新 dbx,但要小心,因为您可能会将自己锁定在系统之外(例如,如果您设置了 BIOS 密码,但忘记了该密码是什么,您将无法启动系统!)。
我写了一篇文章解释了这一切是如何工作的,包括如何手动更新 dbx(再次使用极其谨慎),希望它有所帮助:https://eclypsium.com/2022/07/26/firmware-security-realizations-part -1-安全启动和-dbx/
小智 2
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
$
Run Code Online (Sandbox Code Playgroud)
我远不是 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
文件夹中的任何内容实际上都是不需要的。
归档时间: |
|
查看次数: |
6621 次 |
最近记录: |