Secureboot 有时会因未知原因而失败

问题描述 投票:0回答:0

我启用了 secureboot 并且可以正常工作。如果我在断电几天后启动系统,secureboot 会失败,我必须禁用它才能启动我的 Linux 内核。我发现重新安装

grub-efi-amd64-signed
可以解决问题,并且我可以在启用安全启动的情况下启动。

当 secureboot 失败并且我必须在禁用它的情况下启动时,我运行了

>>> cat /sys/firmware/efi/efivars/Boot0001-*
(gibberish)\EFI\UBUNTU\GRUBx64.efi

也在跑步

>>> efibootmgr -v
Boot0001* ubuntu    HD(....)/File(\EFI\UBUNTU\GRUBx64.efi)

这解释了 secureboot 失败的原因。 GRUBx64.efi 未签名,因此不受信任。

重新安装后

grub-efi-amd64-signed
,我得到了

>>> cat /sys/firmware/efi/efivars/Boot0001-*
(gibberish)\EFI\ubuntu\shimx64.efi

已签名,UEFI 可以将控制权转移给它。

我的问题是为什么这些 UEFI 参数会发生变化。没有软件可以改变它们。它们不是存储在NVRAM中吗?这与 CMOS 损坏有关系吗?但我得到了

>>> cat /proc/driver/rtc
(stuff)
batt_status : okay

但是我对这里的“好吧”持怀疑态度。我不知道在什么意义上还好。如果 NVRAM 从 CMOS 获取电源来存储数据(我不确定。它应该是非易失性的),坏的 CMOS 可能会导致清除启动参数或其他东西。

再想一想,启动参数可能会在启动后设置,这可能解释了为什么当我在禁用 secureboot 的情况下运行时有 grubx64.efi。

linux security boot
© www.soinside.com 2019 - 2024. All rights reserved.