计算机变得过于复杂,这已经成为每个人面临的新问题,真糟糕。系统这种复杂性再加上供应商薄弱的整合,导致安全性大大受损。更糟糕的是,解决单个计算机问题的方案无法规模化。然而,作为个人,我们从未像现在这样依赖计算机。以下是我最近在使用 Windows 11 时的一次经历。虽然你可能不会遇到跟我一样的问题,但希望这里的内容能对你有所帮助。我的一些经验教训如果加以应用,可以预防许多相关问题。
我的一天就这样开始了今天早上,我的电脑告诉我我的 Windows 11 版本已经到了生命周期的终点,不会再得到支持了。这其实挺奇怪的,因为 Windows 更新说我的系统是最新的。一搜才知道,很多网站都在讨论一个新的 bug,这个 bug 让用户误以为 Windows 11 24H2 已经停止服务。不过,这倒不是我的问题,因为我确实已经是到了生命周期终点的版本(21H2),只是我之前没意识到,直到这个 bug 出现才知道。
奥德赛史诗我花了四个小时来调整安全设置,将电脑的BIOS更新到最新版本,安装了Windows 11的最新版本,并安装了推荐的额外更新。我几乎每一步都做对了,但由于各种软件的问题,还是花了这么长时间才搞定。
为什么这么长时间?首先,我的家用电脑已经运行了 Windows 11,但是它的版本是 2021 年的。Windows 更新说我的电脑已经是最新版本,但我知道最新版本应该是 2024 年的。这有点不对头。Windows 系统信息不会直接告诉你操作系统的名字,比如 24H2。你得点击帮助菜单里的“关于”选项。你不是在开玩笑吧?再来说个事儿,“安全启动状态”显示为“关闭”。关于这个,咱们后面再说。
安全设置
在检查我的安全设置时,我发现核心内存隔离没有开启。我确定之前它是开启的。看来,如果安装了冲突的驱动程序,它会自动被关闭。Windows不会通过通知提醒你这个变化。除非你仔细查看设置,否则不会有明显的安全警告,这些信息会以非常小的字体显示出来。
我发现了一个网站,声称有解决这个问题的说明和指令。我愚蠢地试了一下。结果只是给“核心内存隔离”开关设了一个管理员锁,位置在UI里。唉!这种垃圾信息是怎么出现在网上的?我猜是人工智能。我等不及看到网络被那些AI机器人复制的内容——最终的垃圾进垃圾出的系统。
幸运的是,安全设置识别了冲突的驱动程序,所以我能够解决这个问题。结果是,那是一个九年前的老合成器USB驱动程序。我卸载了它,撤销了注册表的更改,并重新启用了核心内存隔离功能。
看到那些小小的绿勾了吗?那意味着你的系统一切OK。这UI设计真差——为什么不直接告诉功能是开还是关,还应该有提示警告呢?
接下来,我处理了真正的问题。我的设置表明我没有TPM硬件支持。显然,我确实有,因为我已经在运行Windows 11了。我有一块很好的Aorus x570 Wi-Fi Elite主板,那么为什么我的TPM被关掉了呢?我可能之前在调整TPM设置时没有把它重新打开。
下面的图片显示了一些严重的不符。尽管我的电脑运行的是 Windows 11,PC 健康检查工具却表示我的电脑未满足 Windows 11 的要求,因为未检测到 TPM(这可能也意味着 TPM 被禁用了)。它确实提到我的系统支持安全启动,但并未说明安全启动是否开启。系统信息显示“安全启动状态”为“未开启”。显然,微软内部有团队知道一个可以检查这一点的 API——只是编写该应用的人不知道;否则,它会(也应该)说明安全启动是开启还是未开启,而不仅仅是是否支持。
我进入了BIOS(这个主板进入BIOS并不容易,因为它经常会跳过显示选项的屏幕,即使按了进入BIOS的键,它也可能不理会你)。在“杂项”设置里,我发现了一个非常重要的设置——如何开启fTPM功能。“f”代表固件,虽然它不是纯粹的硬件,但它确实运行良好,并满足了Windows 11的安全要求。Windows的安全设置确认TPM已开启。
这里有一个重要点需要注意,那就是兼容性支持模块(CSM)的作用。这个设置可以在BIOS中开启或关闭,并且会对你可以用来启动电脑的设备有重大影响。如果关闭了,你只能从带有GPT分区的硬盘启动——无法从光驱或USB设备(如闪存盘或硬盘)启动。这会限制你使用修复盘来修复系统的能力,或者试试其他操作系统(比如,我甚至在我的系统上运行过FreeDOS来玩《Flappy Bird》)。
然而,启用CSM会禁用Secure Boot,由于糟糕的用户界面设计,你可能不会注意到这一点。Secure Boot子菜单会随着CSM设置的改变而显示或隐藏。如果启用了CSM,你将永远无法找到Secure Boot子菜单,甚至不知道有这个子菜单。
为了确保最佳的安全性,禁用CSM是个不错的主意,这样可以阻止他人通过非安全硬盘启动系统并试图窃取数据或植入恶意软件等。
CSM 开着,菜单里没有 Secure Boot 选项
关闭了 CSM,现在可以找到 Secure Boot 的子菜单了
CSM确实有它的用处。下面这个链接的视频演示了启动选项是如何随着CSM的变化而变化的。
启动选项如何根据 CSM 设置变化
为什么安全启动被关掉了?在为这篇文章收集截图的过程中,我重刷了BIOS。这移除了主板上的出厂密钥,这让安全启动无法使用。BIOS显示安全启动是“已启用但未激活”,但没有说明如何重新激活它。为什么BIOS重刷过程不会自动“注册”出厂密钥?
BIOS 升级技嘉提供了一款据说可以从Windows更新BIOS的软件。我尝试了多次,使用了多个BIOS版本,但都失败了——没有解释失败的原因。唯一做得对的事情是将我旧的BIOS备份到了一个USB驱动器上。我还试了“从服务器更新”的选项,以排除文件损坏,但也没有成功。更糟糕的是,它列出的BIOS版本与技嘉官网上列出的版本不同。真是令人无语。
我为什么没有在BIOS里使用Q-Flash呢?一开始也不行,无法识别我的USB驱动器上的文件系统,老是显示“未知设备”。最后经过几次尝试,终于读取了USB驱动器。我试了最新的BIOS文件(版本F40d),但还是因为校验和错误失败了。但校验和算法仍然是个谜,因为技嘉的“校验和”只有四个字符长,而真正的MD5校验和最后四位并不一样。
我切换到F39版本,这就好了。BIOS更新了,但差点儿就搞定了——但我还是得处理那些糟糕的默认设置。
以下截图展示了技嘉和AMI在管理BIOS更新时存在的问题之一。技嘉的Windows BIOS更新应用程序提示最新版本号是F39。
最新版是F39
技嘉网站显示有两款较新的版本。我试着用F40d安装,但没成功。还好F39可以顺利安装。
最新版是F40d
这次更新包括将 fTPM 设定为“开启”。你能相信一个关键的安全设置最初默认是“关闭”的吗?另一个问题是,微软怎么不关注一下 BIOS 供应商的更新呢?如果他们能适当地共享这些信息,并将其作为 Windows 安全警报,那该多好?
Windows 更新功能在我系统现在安全并且BIOS更新到最新之后,我继续更新操作系统。然而,Windows 更新仍然不知道该怎么办。我找到了一个手动方法——Windows 安装助手。
当我运行它的时候,它提示我的电脑无法运行 Windows 11,并建议我运行 PC 健康检查。再次。
PC 健康检查似乎会缓存其结果,而安装助手则依赖于这个缓存结果。如果你在安装 Windows 11 后系统不再符合要求(就像我关闭 TPM 后的系统那样),助手将拒绝继续,直到你重新运行 PC 健康检查刷新缓存。
尽管有这个特点,安装助手表现得很好。它一次性把我的系统从21H2更新到了24H2,不过它没告诉我安装的是哪个版本。更新完成后,我确认自己已经升级到了24H2。
Windows更新提示需要额外更新,需要多次重启。这最后一步大约花了一个半小时,在300 Mbps的宽带连接下下载,并写入到M.2固态硬盘。
学到的教训希望正在开发操作系统或BIOS的人能看到这篇文章,并采纳其中的一些想法。这些想法并不算是开创性的,但就像很多事情一样,安全常常被视作一个事后才考虑的因素。
- 操作系统工具应提供准确的信息,不使用缓存
- 操作系统应在软件即将结束服务或生命周期时通知用户
- 关键的安全设置更改应触发警告
- 操作系统和BIOS供应商应合作,及时通知用户重要的更新(如STIX和TAXII等标准可以提供帮助)- https://oasis-open.github.io/cti-documentation/
- BIOS供应商必须彻底测试其发布的版本和工具
- 使用智能默认设置;不要将关键设置埋在“杂项”中
- 在设置如Secure Boot密钥等默认值时,应确保正确安装
- 使用智能分析安全属性来识别矛盾,例如安装了无法更新的Windows 11,并且在三年后才告诉用户
特别感谢迈克提供的编辑建议!