The system found unauthorized changes on the firmware" 提示的意义与处理

2024-07-21 Windows

开机时突然看到一条红字警告:"The system found unauthorized changes on the firmware, operating system or UEFI drivers",然后按任意键才能继续启动——这到底是中了病毒,还是正常现象?本文详解这条警告的来源、触发条件和处理方法。

一、这是什么?

这是 UEFI Secure Boot(安全启动) 的安全机制在工作。当固件检测到以下内容发生变化时触发:

  • UEFI 固件(BIOS)镜像被修改
  • 引导加载程序 (Bootloader) 签名不匹配
  • 硬件固件(如显卡 Option ROM)不在信任列表中
  • Secure Boot 密钥数据库被变更

简单理解:Secure Boot 是开机前的"安检",它逐一验证启动链上每个环节的数字签名。签名不匹配就报警。


二、触发条件分析

触发场景 是否正常 说明
更换显卡/网卡等 PCIe 设备 ✅ 正常 新设备的 Option ROM 不在 DB 信任库中
更新 BIOS 后首次开机 ✅ 正常 固件签名或密钥数据库版本变更
清除 CMOS 后 ✅ 正常 Secure Boot 恢复到 Setup Mode
安装了双系统(如 Linux + Windows) ⚠️ 视情况 Linux 引导器(GRUB/systemd-boot)需要 Shim 签名,未签名的会报警
主板电池没电 ⚠️ 需处理 CMOS 掉电导致 Secure Boot 配置丢失
启用/禁用 CSM(兼容性支持模块) ⚠️ 需处理 切换引导模式会影响 Secure Boot 状态
未知来源的引导程序 ❌ 危险 可能是 Bootkit 或 Rootkit 篡改
非官方 BIOS 修改(破解/解锁) ❌ 危险 自制固件没有有效签名

三、如何判断是"真安全问题"还是"正常硬件变动"

决策流程图

看到 Secure Boot 警告
    │
    最近动过硬件?(显卡/网卡/硬盘)
    ├── 是 → [正常硬件变动] → 进 BIOS 确认新设备 → 重置 Secure Boot 密钥
    │
    刚更新 BIOS?
    ├── 是 → [固件签名更新] → 恢复 Secure Boot 默认密钥 → 重启
    │
    刚装/更新了操作系统?
    ├── 是 → [引导程序变更] → 确认使用官方签名引导器 → 重新注册
    │
    以上都不是?
    └── [需要警惕] → 进 BIOS 检查启动项 → 扫描病毒 → 可能需重刷 BIOS

四、处理方法

方法 1:进入 BIOS 确认硬件变更(最常用)

# 操作步骤:
# 1. 重启电脑,按 Del/F2/F10 进入 BIOS/UEFI 设置
# 2. 导航到 Boot → Secure Boot 相关页面
# 3. 查看 Secure Boot 状态:
#    - Setup Mode:密钥库为空,处于配置状态
#    - User Mode:密钥已部署,正常运行
#    - Audit Mode:仅记录不阻止(部分品牌)
# 4. 检查"Key Management"中的密钥列表

方法 2:恢复 Secure Boot 默认密钥

这是最安全、最通用的处理方法。恢复到出厂密钥后,系统重新信任 OEM 签名的引导程序。

# BIOS 操作步骤(各品牌略有不同):
# ASUS:
#   Boot → Secure Boot → Key Management → Install Default Secure Boot Keys
# 
# MSI:
#   Security → Secure Boot → Enroll all Factory Default Keys
# 
# Gigabyte:
#   BIOS Features → Secure Boot → Restore Factory Keys
# 
# ASRock:
#   Security → Secure Boot → Install Default Secure Boot Keys
# 
# Dell/HP/Lenovo (品牌机):
#   Security → Secure Boot → Restore Secure Boot to Factory Settings

方法 3:关闭再重新开启 Secure Boot

有时 Secure Boot 的密钥状态处于"半损坏"状态,关闭再开启可以重置状态机。

# 操作步骤:
# 1. BIOS → Secure Boot → 设置为 Disabled
# 2. 保存退出,进入系统一次
# 3. 重启进入 BIOS
# 4. Secure Boot → 设置为 Enabled
# 5. 保存退出

方法 4:检查 TPM 状态

Secure Boot 和 TPM 安全体系紧密关联。某些系统在 TPM 状态异常时也会触发固件变更警告。

# 在 Windows 中检查 TPM 状态:
# Win+R → tpm.msc
# 查看状态是否为 "TPM 已就绪,可使用"

# 如果 TPM 显示错误,在 BIOS 中:
# 1. 清除 TPM(Clear TPM)- 注意:这会清除 BitLocker 密钥!
# 2. 如果之前开启了 BitLocker,务必先备份恢复密钥

方法 5:针对双系统用户

如果安装了 Linux + Windows 双系统:

# Linux 系统需要启用 Secure Boot 兼容的引导器:

# Ubuntu/Debian:
# GRUB 已通过 Shim(由 Microsoft 签名)支持 Secure Boot
# 无需额外操作

# Arch/Manjaro:
# 方法 A:使用 sbctl 签名工具
sudo pacman -S sbctl
sudo sbctl create-keys
sudo sbctl enroll-keys -m   # -m 包含 Microsoft 证书
sudo sbctl sign -s /boot/vmlinuz-linux
sudo sbctl sign -s /path/to/bootloader

# 方法 B:使用 PreLoader/shim-signed
sudo pacman -S shim-signed
sudo grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

五、各品牌 BIOS 提示对比

品牌 典型提示信息 快捷键
ASUS "The system found unauthorized changes on the firmware..." F2/Del
Gigabyte "Boot failure detected" / "The system has experienced a boot failure..." Del
MSI "There is no proper boot device" / Secure Boot Violation Del
ASRock "Secure Boot Violation - Invalid signature detected" F2/Del
Dell "Alert! Security Override. Press any key to continue." F2
HP "Boot Device Not Found" / Secure Boot warning F10
Lenovo "Security - Secure Boot violation" F1/F2

六、特殊情况处理

情况:警告每次开机都出现,但没动过硬件

# 可能原因:
# 1. CMOS 电池没电 → 更换主板上 CR2032 纽扣电池
# 2. 主板故障导致 NVRAM 数据丢失 → 需维修
# 3. 某次异常关机损坏了 Secure Boot 密钥库 → 恢复出厂密钥

# 诊断 CMOS 电池:
# 每次断电后 BIOS 时间重置 → 电池没电
# 每次断电后 BIOS 设置丢失 → 电池没电

情况:出现警告后系统时间变成 1970 年或出厂日期

这几乎肯定是 CMOS 电池没电了。更换电池后,需要重新配置 BIOS(包括 Secure Boot 密钥)。

情况:企业/学校 IT 管理的电脑

如果在公司或学校发放的电脑上看到此提示,联系 IT 部门,不要自行操作——可能是企业安全策略的一部分,强行修改可能违反规定。


七、安全边界:什么时候该紧张

信号 风险等级 建议
警告 + 你没动过任何硬件/系统 🔴 高 立即检查启动项,全盘杀毒,考虑重刷 BIOS
警告 + 系统出现异常行为(弹窗、卡顿) 🔴 高 可能已被植入 Bootkit,断开网络,备份数据
警告 + 刚换过硬件 🟢 低 重置 Secure Boot 密钥即可
警告 + 刚更新 BIOS 🟢 低 恢复默认密钥
警告 + 刚装双系统 🟡 中 确认引导器的签名状态

八、一图总结

更换硬件/更新BIOS
    │
    ▼
Secure Boot 密钥验证失败
    │
    ▼
"unauthorized changes on the firmware"
    │
    ├─ 正常变动 → 进 BIOS → 重置默认密钥 → 重启 → 问题消失 ✅
    │
    ├─ CMOS 电池没电 → 换电池 → 重设 BIOS → 重置密钥 → 问题消失 ✅
    │
    └─ 无已知变动 → 警惕!→ 查启动项 → 杀毒 → 可能需重刷 BIOS ⚠️

大多数情况下,"unauthorized changes on the firmware" 只是 Secure Boot 在恪尽职守地提醒你"我注意到有变化了"——就像门禁系统换了新卡需要重新授权。只要确认变化是来自你自己操作的(换硬件、更新 BIOS),重置一下默认密钥就好。但如果你没做任何更改却看到这个警告,那就值得认真对待了。