gpu@rockylinux9 bios安全引导检查
在 Rocky Linux 9 中检查 BIOS 安全引导(Secure Boot)的状态。
检查bios secure方法
m1. 使用 mokutil
检查安全引导状态
mokutil
是一个用于管理机器所有者密钥(MOK)和检查安全引导状态的工具。在 Rocky Linux 9 中,你可以使用以下命令检查:
1 | mokutil --sb-state |
- 输出解释:
- 如果返回
SecureBoot enabled
,说明安全引导已启用。 - 如果返回
SecureBoot disabled
,说明安全引导已禁用。 - 如果返回其他信息(如错误),可能需要检查 UEFI 设置或确认系统是否支持安全引导。
- 如果返回
安装 mokutil(如果未安装):
1 | sudo dnf install -y mokutil |
m2. 检查系统信息
你可以通过查看系统日志或内核信息来确认安全引导状态:
1 | dmesg | grep -i secure |
- 输出示例:
- 如果包含类似
Secure boot enabled
的信息,说明安全引导已启用。 - 如果包含
Secure boot disabled
或无相关信息,说明安全引导可能未启用。
- 如果包含类似
m3. 检查 UEFI 固件设置
如果命令行工具无法提供明确信息,可以直接进入 BIOS/UEFI 设置界面检查:
- 重启系统。
- 在启动时按特定按键(通常是
F2
、DEL
或F12
,具体取决于主板制造商)进入 UEFI 设置。 - 导航到
Boot
或Security
选项卡,查找Secure Boot
设置。- 如果设置为
Enabled
或On
,安全引导已启用。 - 如果设置为
Disabled
或Off
,安全引导已禁用。
- 如果设置为
m4. 验证内核模块签名
在安全引导启用时,所有内核模块都必须经过签名。你可以通过以下命令检查模块签名状态:
1 | modinfo <module_name> |
例如:
1 | modinfo vfat |
- 检查输出中的
signature
字段。如果存在签名信息,说明模块已正确签名,符合安全引导要求。
m5. 使用 bootctl
(如果系统使用 systemd-boot)**
1 | bootctl status |
查看输出中的 Secure Boot:
字段。
[root@vgt-rocky9-60 ~]# bootctl satus
Unknown command verb satus.
[root@vgt-rocky9-60 ~]# bootctl
systemd-boot not installed in ESP.
System:
Not booted with EFI ### no efi
Available Boot Loaders on ESP:
ESP: /boot/efi (/dev/disk/by-partuuid/66fe1d43-2adf-44f0-9219-0c666d0a3a55)
File: └─/EFI/BOOT/BOOTX64.EFI
Boot Loader Entries:
$BOOT: /boot/efi (/dev/disk/by-partuuid/66fe1d43-2adf-44f0-9219-0c666d0a3a55)
0 entries, no entry could be determined as default.
启用情况下导入密钥
1.检查bios secure
dnf install mokutil -y
mokutil --sb-state
EFI variables are not supported on this system
# 如果显示 SecureBoot enabled,说明安全引导状态启用
2.编译驱动后导入密钥
对于启用安全引导的计算机,需要手动导入密钥。
2.1因为 dkms 本身对所有模块进行了签名,因此只需要注册它使用的密钥,就可以使 BIOS SecureBoot 正常启用了。
2.2运行mokutil --import /var/lib/dkms/mok.pub,会提醒输入一次性密码。
2.3重启电脑,您应该会看到 MOK Manager,按任意键进入菜单。
2.4在 MOK Manager 中,选择“Enroll MOK”,然后选择“Continue”,最后选择“Yes”。您将返回主屏幕,但主屏幕中没有“Enroll MOK”按钮。
2.5选择“Reboot”,然后按回车键。现在您的系统将重新启动。
2.6在 BIOS 中启用 SecureBoot 即可。 现在,您的所有 DKMS 模块都将能够在启用 SecureBoot 的情况下正常运行
执行命令
# 输入以下命令,提醒输入一次性密码,在重启计算机时,进入 MOK Manager 管理界面,需要输入对应密码,再重启即可。
[root@gpu-server-001 ~]# mokutil --import /var/lib/dkms/mok.pub
# 列出密钥
[root@gpu-server-001 ~]# mokutil --list-new
# 重启计算机,进入 MOK Manager 管理界面,输入刚刚设置的密码(非 SSH 可操作,需要在显示器或 IPMI 等远程管理工具上进行操作)
[root@gpu-server-001 ~]# reboot
# 重启后,验证证书是否加载成功[root@gpu-server-001 ~]# dmesg | grep cert
如果启用bios secure 需要开机进入tty 输入密码