我的 Ubuntu(20.04)软件提示有新固件可用:(UEFI dbx 77--> 217
?),但是当我尝试更新时收到以下错误消息:
Impossible to update UEFI dbx.
Blocked executable in the ESP, ensure grub and shim are up to date:/boot/efi/EFI/Boot/shimx64.efi Authenticode checksum [_checksum code_] is presente in dbx.
我不太清楚这意味着什么,如果我理解正确的话,为什么它会从版本 77 跳到 217。有关系统的更多详细信息:
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 39 bits physical, 48 bits virtual
CPU(s): 12
On-line CPU(s) list: 0-11
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 165
Model name: Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz
答案1
我在 Ubuntu 22.04 下的 Dell 5820 上遇到了类似的问题。我建议检查是否使用了二进制文件。
为此,我建议检查该文件是否/boot/efi/EFI/Boot/shimx64.efi
在启动项中列出:
efibootmgr -v
就我而言并非如此,但/boot/efi/EFI/ubuntu/shimx64.efi
使用了较新的版本(请注意路径上的细微差别)。
然后我注意到它/boot/efi/EFI/Boot/shimx64.efi
比其他文件要早几年/boot/efi/EFI/Boot/
:
sudo ls -lah /boot/efi/EFI/Boot/
然后我将其删除,升级顺利进行:
sudo rm /boot/efi/EFI/Boot/shimx64.efi
sudo fwupdmgr update
答案2
您的 Ubuntu Linux 20.04 LTS 包含旧版本的 grub2 和其他启动软件,由于安全问题,这些软件在 DBX 版本 217 中被列入黑名单。更新 PC 闪存中的 DBX 数据库将导致您的系统被排除在将来的启动之外(在 UEFI 安全启动模式下)。此操作无法恢复!
除非您已经更新到带有 grub2 等的 Ubuntu 22.04 LTS(这并不排除在 DBX 启动之外),否则更新到 DBX 版本 217 不是一个好主意。fwupdmgr 会为您检查兼容性,然后拒绝将 DBX 更新到会导致您的 PC 系统无法运行的版本。
建议:
- 不更新并承担安全风险
- 将 Ubuntu 更新到当前版本,例如 22.04 LTS 或 22.10,然后更新到 DBX 版本 217。这应该有效并最大限度地降低安全风险。
笔记:更新到 DBX 版本 217 然后在 UEFI-BIOS 中禁用安全启动的情况下启动系统是荒谬的。那么你将不得不承受更多的安全风险。这也会给其他操作系统带来进一步的风险。返回 1) 或 2)。
请注意,建议 2) 可能会在将来排除您现有的其他启动媒体(如 USB 记忆棒和 CD 等)的启动。因此,请确保您确实需要 2),或者在准备好 2) 之前先使用 1)
答案3
看:https://github.com/fwupd/fwupd/issues/5035 TL;DR 升级到最新版本的 fwupd
答案4
他说已经修复了:Fixed in https://gitlab.com/fwupd/lvfs-website/-/merge_requests/1363 for future firmwares.
可能已经修复了,但忽略更新请求直到 Ubuntu 修复它还是很烦人。