实战准备:Secure Boot 与 TPM
由于 Windows 11 的强制要求,现代电脑默认都开启了 Secure Boot (安全启动) 和 TPM (受信任平台模块)。这两项技术在保护系统的同时,也给 Linux 用户带来了一些“麻烦”。
1. Secure Boot (安全启动)
Secure Boot 是 UEFI 的一项安全协议。它只允许主板固件运行带有合法签名的引导程序和内核。
1.1 对 Linux 的影响
- 主流发行版 (Ubuntu, Fedora): 已内置微软签名证书,支持开启 Secure Boot 直接启动。
- 自定义发行版 (Arch, Gentoo): 默认不带签名,开启后会报错
Verification failed。 - 第三方驱动 (NVIDIA): 在 Secure Boot 开启时,内核会拒绝加载未签名的第三方闭源驱动。
1.2 解决对策
在 BIOS 设置中将 Secure Boot 设为 Disabled。
- 优点: 兼容性最强,安装 Arch 或自定义内核无需额外操作。
- 缺点: 略微降低了防 Rootkit 攻击的能力。
在 Ubuntu 等系统安装 NVIDIA 驱动时,会提示你设置一个 MOK 密码。重启后,系统会进入一个蓝屏界面(Shim),让你输入刚才的密码登记证书。
2. TPM 2.0 (受信任平台模块)
TPM 是主板上的一块安全芯片,用于存储加密密钥、证书和指纹数据。
2.1 Linux 能用 TPM 吗?
- 透明加密: 你可以使用
systemd-cryptenroll将 LUKS 全盘加密的密钥绑定到 TPM。 - 自动解密: 绑定后,系统检测到硬件未变动(PCR 校验一致),开机即可自动解密硬盘,无需手动输入长密码。
3. 常见报错与对策
| 报错信息 | 原因 | 解决方法 |
|---|---|---|
| Security Violation | 引导加载器未签名 | 在 BIOS 禁用 Secure Boot |
| NVIDIA 驱动无法加载 | 驱动未签名 | 使用 mokutil 登记签名证书 |
| BitLocker 锁定 | Windows 开启了硬盘加密 | 在 Windows 中暂停或关闭 BitLocker |