Grub2密码仅限制GRUB菜单内操作(如编辑参数、进单用户模式),无法阻止Live CD/USB绕过引导直接篡改系统;真正防护需结合BIOS/UEFI密码、Secure Boot、LUKS全盘加密及TPM2绑定。

Grub2密码本身无法防止光盘引导破坏。它只控制GRUB启动菜单内的操作权限,比如编辑启动参数、进入命令行或切换到单用户模式。而攻击者通过Live CD/USB启动,是完全绕过你本机GRUB的——系统根本没加载你的/boot分区,更不会读取你的grub.cfg或验证任何密码。
Grub2密码真正能防什么
它仅限制以下行为(需在开机时按Shift或e键进入GRUB界面后):
- 修改内核启动参数(如去掉
rhgb quiet、添加init=/bin/bash) - 从GRUB命令行手动加载内核或initramfs
- 编辑现有菜单项并临时启动
- 进入GRUB rescue模式执行低级命令
光盘引导破坏为何不受Grub2密码影响
原因很直接:
- Live系统从U盘或光盘独立启动,BIOS/UEFI直接加载其自带的GRUB或EFI stub,不碰你硬盘上的
/boot/grub2 - 攻击者挂载你加密或未加密的根分区后,可直接修改
/etc/shadow重置root密码,或替换关键系统文件 - 即使你设了Grub2密码,Live环境仍能读写你的
/boot分区(除非该分区也加密),并手动删除或篡改grub.cfg、user.cfg等配置
真正阻止光盘引导破坏的组合措施
必须从固件层和存储层同步加固:
- BIOS/UEFI设置:禁用USB、CD/DVD、网络(PXE)启动项;将硬盘设为第一启动设备;启用Setup密码(防止他人进BIOS改回启动顺序)
- Secure Boot开启:确保主板UEFI中Secure Boot为Enabled;使用已签名的GRUB2和内核;第三方驱动(如NVIDIA)需导入MOK密钥并手动签名,否则Live系统即使启动也无法加载你系统的内核模块
-
LUKS全盘加密:加密
/(根)分区;/boot可单独加密(但UEFI启动需额外处理ESP分区);攻击者插入U盘后,无法挂载解密你的系统分区,自然无法篡改 -
TPM2绑定(高安全场景):用
systemd-cryptenroll --tpm2-device=auto --tpm2-pcrs=7将LUKS密钥密封进TPM芯片;只有本机在Secure Boot开启、固件未被篡改的状态下才能自动解锁——换台电脑或关机拔硬盘都无效
Grub2密码的正确用法(配合上述措施)
它不是独立防线,而是纵深防御中的一环:
- 生成强哈希:
sudo grub2-mkpasswd-pbkdf2,复制完整grub.pbkdf2.sha512...字符串 - 写入
/etc/grub.d/01_users(比40_custom更规范,避免被其他脚本覆盖):set superusers="admin"<br>password_pbkdf2 admin grub.pbkdf2.sha512.10000.8A673C...
- 对敏感菜单项加锁:在
/etc/grub.d/10_linux生成的menuentry块开头加--users admin - 更新配置:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
不复杂但容易忽略:Grub2密码只是“锁门”,而BIOS密码、Secure Boot、LUKS才是“砌墙+装监控+藏钥匙”。单靠密码,等于给敞开的大门配把精致挂锁。











