麻烦 ubuntu 更新固件 uefi dbx 217

Cat*_*nea 6 uefi

我尝试更新我的 ubuntu 固件,但遇到问题:

ESP 中阻止的可执行文件,确保 grub 和 shim 是最新的: /boot/efi/efi.factory/boot/bootx64.efi Authenticode 校验和 [2ea4cb6a1f1eb1d3dce82d54fde26ded243ba3e18de7c6d211902a594fe56788] 存在于 dbx 中

以下是更新的详细信息:

版本 217:这会将 dbx 更新到 Microsoft 的最新版本,由于发现多个安全更新,该版本将不安全版本的 grub 和 shim 添加到禁止签名列表中。

在安装更新之前,fwupd 将检查 ESP 中是否有任何受影响的可执行文件,如果发现任何启动二进制文件带有任何禁止的签名,则将拒绝更新。如果安装失败,您将需要更新 shim 和 grub 软件包,然后才能部署更新。

安装此 dbx 更新后,任何使用旧签名签名的 DVD 或 USB 安装程序映像可能无法正常工作。如果您的发行版尚未提供新映像,则在使用恢复或安装介质时,您可能必须暂时关闭安全启动。

版本 211:这会将 dbx 更新到 Microsoft 的最新版本,由于发现多个安全更新,该版本将不安全版本的 grub 和 shim 添加到禁止签名列表中。

版本 190:这会将 dbx 更新到 Microsoft 的最新版本,由于发现多个安全更新,该版本将不安全版本的 grub 和 shim 添加到禁止签名列表中。

Max*_*Max 2

警告:我自己没有问题,我无法测试下面的答案。请注意,它可能会阻止您的计算机启动。

该文件夹/boot/efi/efi.factory似乎是随 Ubuntu 一起销售的 DELL 计算机的特性 [1]。

您可以检查您是否确实使用/boot/efi/efi.factory/boot/bootx64.efi以下命令启动:

sudo efibootmgr -v | grep "Boot$(sudo efibootmgr -v | awk '/BootCurrent/{print $2}')"
Run Code Online (Sandbox Code Playgroud)

此命令显示已使用哪个 EFI 进行引导。如果不是/EFI/efi.factory/boot/bootx64.efi,并且您不需要启动进入 DELL Recovery,我认为您可以安全地将其删除或移到/EFI文件夹之外:请参阅https://unix.stackexchange.com/a/636034

[1]: https: //github.com/dell/dell-recovery/blob/master/debian/changelog#L514


Zob*_*san 2

这通常发生在需要手动更新的旧 efi 文件上。这是fwupd 维基页面的摘录

就我而言,更新所抱怨的文件是 /boot/efi/EFI/BOOT/bkpbootx64.efi。我发现该文件比同一目录中的其他文件早一年。网络搜索显示该文件是“引导修复定期创建的备份”。Boot-Repair 是一款第三方程序,旨在在 Ubuntu 上使用,并且在 Ubuntu 衍生产品(例如 Linux Mint)上谨慎使用。我在 Mint 上并使用过该程序。我删除了备份文件,即/boot/efi/EFI/BOOT/bkpbootx64.efi。我告诉 fwupd 进行更新。我重新启动 fwupd 几乎没有完成更新的迹象,但再次运行 fwupd 表明更新确实已执行;我的系统似乎继续完美运行。

另一位用户发现了以下内容。“我的问题是我之前安装的 /boot/efi/EFI/ubuntu 非常旧。我正在运行 Fedora。因此,非常旧的 ubuntu 组件没有更新,从而阻止了 UEFI dbx 更新。”

错误消息通常会告诉您有问题的 efi 文件的名称:

Blocked executable in the ESP, ensure grub and shim are up to date: /boot/efi/efi.factory/boot/bootx64.efi Authenticode checksum [2ea4cb6a1f1eb1d3dce82d54fde26ded243ba3e18de7c6d211902a594fe56788] is present in dbx
Run Code Online (Sandbox Code Playgroud)

文件名:/boot/efi/efi.factory/boot/bootx64.efi

您可以删除该文件,然后fwupdmgr再次更新

sudo fwupdmgr refresh --force
sudo fwupdmgr update
Run Code Online (Sandbox Code Playgroud)

这将要求您重新启动。重新启动后,如果再次检查,您将看到更新已安装。