在 Grub2 中添加 Memtest86+ v6.10,由于错误的 shim 签名导致启动失败

在 Grub2 中添加 Memtest86+ v6.10,由于错误的 shim 签名导致启动失败

使用Debian 11.6.0 网络安装作为具有 UEFI 启动模式的 qemu VM 运行。我想添加Memtest86+ v6.10在 Grub2 菜单中

curl -OL --output-dir /tmp https://www.memtest.org/download/v6.10/mt86plus_6.10.binaries.zip

unzip -d /tmp /tmp/mt86plus_6.10.binaries.zip

cp /tmp/memtest64.efi /boot/efi/EFI/

cat >> /etc/grub.d/40_custom << EOF
menuentry 'Memtest86+ v6.10' {
  insmod part_gpt
  insmod fat
  set root='hd0,gpt1'
  chainloader (\$root)/EFI/memtest64.efi
}
EOF

update-grub

重新启动虚拟机,当出现 Grub 菜单时,选择该Memtest86+ v6.10条目无法启动,并显示消息“错误:错误的垫片签名”

我也尝试了另一种方法efibootmgr

efibootmgr --create --disk=/dev/vda --part=1 --label="Memtest86+ v6.10" --loader='\EFI\memtest64.efi'

启动虚拟机时,选择“UEFI 固件设置”。然后导航到“启动管理器设置”。选择“Memtest86+ v6.10”。屏幕只是快速闪烁,但什么也没发生。好像映像memtest64.efi无法启动。

问题如何在 Grub 菜单中增加 Memtest86+ 6.10 并使其在 UEFI 中通过安全启动启动?v6.10 更新日志显示“添加对安全启动签名的支持”。如果我mt86plus_6.10_64.iso从具有 UEFI + 安全启动的物理计算机上的 USB 驱动器启动,它确实有效。但不幸的是,没有memtest64.efi在现有 Linux 上添加的说明。

答案1

维护者明确确认我对变更日志的解读是正确的这个问题

Memtest86+ 6.10 现在支持 Secureboot签署,二进制文件目前还没有由微软提供。

(重点不是我的)

因此,如果它在据称已启用安全启动的 PC 上工作,则该 PC 没有有效的安全启动。也许是 MSI 主板?他们实施了“假安全启动”,媒体上到处都是。参见MSI 的声明

如果需要,您可以自己对文件进行签名,然后信任安全启动证书。这个过程相当复杂,如果不保证签名密钥的安全,很容易完全危及这台机器的安全启动。

相关内容