大头锅 says to Ubuntu 台灣社群
长知识了,某些 Linux 发行版未能及时更新 GRUB 代码和 SBAT 安全变量。这意味着尽管 GRUB 存在已知的安全漏洞,这些发行版仍然继续使用旧的、易受攻击的 GRUB 版本。当系统在 Secure Boot 模式下启动时,SBAT 检测到 GRUB 的漏洞并阻止其加载,导致系统无法启动并出现错误消息。 另外,Windows 更新可能会更新 SBAT 变量,以阻止易受攻击的 GRUB 版本在双启动系统上加载,这可能导致用户无法启动 Linux 系统,尽管他们可能没有意识到这一点。 解决方案与建议 要解决这个问题,用户可以采取以下措施: 1. 更新 GRUB:检查并确保 Linux 发行版使用的是最新的 GRUB 版本,且该版本已修复已知的安全漏洞并更新了 SBAT 元数据。 2. 更新 Shim:确保 Shim 也更新到最新版本,以便正确处理最新的 SBAT 变量。 3. 手动禁用 Secure Boot(如果必要):如果更新 GRUB 或 Shim 无法解决问题,用户可以考虑禁用 Secure Boot(虽然这降低了系统的安全性)。 4. 重新配置 SBAT:在某些情况下,可能需要手动更新 SBAT 变量,确保系统不会错误地阻止合法的 GRUB 版本。 总结 GRUB 是 Linux 引导加载程序的重要组成部分,但它也可能成为攻击的目标。为了防止潜在的 bootkit 攻击,SBAT 机制被引入到 Secure Boot 中,通过标识和阻止存在漏洞的 GRUB 版本来增强系统安全性。确保 GRUB 和相关的组件(如 Shim)保持更新是避免此类问题的关键。如果遇到问题,还可以考虑禁用 Secure Boot 或手动调整 SBAT 配置。