Unified Extensible Firmware Interface (简体中文)/Secure Boot (简体中文)
Jump to navigation
Jump to search
关于在 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