Unified Extensible Firmware Interface (简体中文)/Secure Boot (简体中文)
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
关于在 Linux 中 Secure Boot 的概述请参考文章 Rodsbooks' Secure Boot.
使用经过签名的boot loader
Booting archiso
本节的重点在于如何在 Arch Linux 中设置安全启动。本节暂时仅介绍在开启 Secure Boot 模式的情况下启动 archiso 的步骤。因为 EFI 程序 PreLoader.efi
和 HashTool.efi
已经添加到 archiso 中,所以在开启 Secure Boot 模式的情况下启动 archiso 是可行的,将会显示一条 "Failed to Start loader...I will now execute HashTool". 的消息。要使用 HashTool 来注册 loader.efi
和 vmlinuz.efi
的 hash 值,执行如下步骤:
- 选择
OK
- 在 HashTool 主菜单先选择
Enroll Hash
,再选择\loader.efi
,然后点击Yes
确认。再选择Enroll Hash
和archiso
,进入 archiso 目录,然后选择vmlinuz-efi
并且点击Yes
确认,最后点击Exit
返回启动设备选择菜单。 - 在启动设备选择菜单选择
Arch Linux archiso x86_64 UEFI CD
。
archiso 启动后会自动以 root 登陆,并且出现 shell 提示符。使用以下命令检查 archiso 是否以 Secure Boot 模式启动:
$ od -An -t u1 /sys/firmware/efi/efivars/SecureBoot-XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
XXXX 部分因不同机器而各不相同。可以使用 tab 补全来获取帮助或者列出 EFI 变量。
如果以 Secure Boot 模式启动,命令会返回以 1 结尾的五个整数,例如:
6 0 0 0 1
此外,另一种方法是执行:
$ bootctl status