升级BIOS有必要吗(BIOS有必要升级吗)

升级BIOS有必要吗(BIOS有必要升级吗)

在2018年的最后几天,微软赶在圣诞节前一声炮响,给BIOS界带来了一个叫做Mu的开源项目(参考资料1),也正式引入了Firmware as a Service (FaaS)的概念:

These enhancements allow Project Mu devices to support Firmware as a Service (FaaS). Similar to Windows as a Service,Firmware as a Service optimizes UEFI and other system firmware for timely quality patches that keep firmware up to date and enables efficient development of post-launch features.

Mu的一个重要的目标就是和所谓的“Windows as a Service”一样,提供一套servcie,让BIOS不再只是一次性的交付,而是持续性的更新,并提供一套开源的框架来优化BIOS/固件的更新和升级。它和2018年下旬宣布的Component Firmware Update(CFU)一起,构成了一套开源的BIOS capsule update工具箱。

朋友们经常会问起BIOS有升级的必要吗?作为BIOS专业人士,我认为BIOS绝对有必要升级。BIOS更新通常有几个原因:

1. 安全更新。BIOS更新很大一部分都是安全更新,这些更新不仅仅是meltdown这些安全漏洞。有些人认为我的电脑就是上上网,没啥秘密,所以不在乎安全问题。这是极端错误的思想,有了安全漏洞,轻则变成肉鸡,助纣为虐;还可能自己被监控,拍下隐私照片;重则主板报废,硬件损坏。

2. 修复bug。一些主板上的Bug,由客户报告后,会定期修复。一些cpu的bug,可能需要微码(microcode)更新。一些芯片组的bug,可能需要BIOS更新,譬如近期USB 3.1的问题。

3. 功能扩展。支持更高频率的DIMM,cpu refresh的支持等等。

很多人对BIOS更新怀有畏惧心理,主要表现在:

1. 不知道在哪里找更新文件。去主板官网下载还是Intel的网站?

2. 不知道怎么验证BIOS更新文件的真实性和完整性。万一上了个李鬼网站怎么办?万一网络出错下载内容错误或者不完整怎么办?

3. 不知道如何更新BIOS,需要什么命令,在哪种环境下。

4. 担心更新BIOS失败是不是主板只有保修或者报废。

是啊,这些担心都是有道理的,过去BIOS更新给大家留下了太多的心理阴影。以往更新BIOS就像一场挑战智力和运气的游戏:

1. 先阅读厚厚的主板手册,找到主板官网;或者百度,保佑别找到李鬼网站。

2. 官网上大海捞针,花费数个小时找到BIOS更新文件。保佑别找错了。

3. 仔细阅读readme。

4. 打开黑乎乎的DOS界面,键入一些古怪的命令。

5. 系统重启,进入更加古怪的黑色字符界面,一行提示警告你不要关闭电源,否则后果很严重。

6. 系统打出有时有百分比进度,有时又许久没有任何动作,让人抓狂。

7. 再次重启,这才是考验人品的时刻。

实际上现在做的比较好的BIOS早就不是这么原始的方式更新了。虽然赶不上现在的智能摄像头之类点击一下app就可以更新,但是也方便了许多。下面我们就已华硕为例,对大家担心的问题来分别了解一下。

如何找到更新文件

现代的UEFI BIOS已经内置了网络协议栈,可以进行网络启动和安装,当然也可以网络更新BIOS:

ASUS BIOS 更新界面

华硕的主板支持自己去寻找BIOS更新文件,而不需要用户参与,在网站上浪费时间。华硕和其他不少厂商还有windows的APP,点开后也可以自动找到BIOS更新文件。当然这里也有自己下载放到U盘的选项。

微软也没有闲着,Windows Update(WU)会带部分有严重安全问题的最新主板BIOS更新,如果你win10升级的时候开始更新BIOS了,请不要惊讶!Linux世界有LVFS(Linux vendor Firmware Service,见参考资料2),被Ubuntu和不少其他Linux发行版所接纳。

还需要DOS命令行这种东西吗?

现在负责任的主板厂商都不需要自己在DOS下输入奇怪的命令了。上面几种更新方式都会自动重启,开始更新BIOS。

BIOS更新文件的完整性和真实性

如果我们的BIOS或者app下载BIOS更新文件下载了一半,或者网络错误导致文件内容损坏怎么办?如果我选择手动更新,下载了李鬼BIOS怎么办?

这个完全不需要担心,如果我们仔细观察要更新的BIOS文件

会发现它是个.cap文件。什么是cap文件?!

它是UEFI capsule update文件的缩写,Capsule,顾名思义,是“胶囊”的意思,所以UEFI Capsule Update可以理解为胶囊式固件更新。它的详细内容在这里:July:UEFI 固件更新

近期的电脑芯片,基本都要求主板开启一个叫做Boot Guard的安全功能。所以cap文件都会被主板厂商用自己的私钥签名,没有签名的文件会被拒绝更新和启动。了解非对称密码签名的同学应该都知道签名在目前是不会被仿冒的,真实性大可放心。另外验证签名的时候也会对完整性进行验证。

BIOS健壮性是如何保证的?

既然BIOS不会有假而且完整,那更新后BIOS一定不会出问题吗?BIOS本质来说是个固件,这个问题和我们的智能手机、手表、机器人等等更新固件一样,他们更新时你会担心吗?也许还有一点点。:)

要知道这些被签名过的固件包括BIOS,更新后因为固件本身引发的问题,责任人都是发布者本身而不是消费者,所有维修召回的费用都需要他们承担,甚至中间有任何的损失,包括资料损坏甚至误工等等都可能引发诉讼。厂商在这方面极端小心,固件更新发布前,都经过了大规模的测试,在保障万无一失的情况下,才会发布。在绝大多数情况下不会出问题。

出了问题怎么办?

唯一可能出问题的地方就是更新BIOS过程被中断。有人说了,我可以保证我不手残,拔电源,但保证不了家里不忽然断电啊。这是一个reasonable的顾虑,对此主板厂商都有解决办法。负责任的主板厂商当然不会采取返厂这种手段,根据厂商不同,会采取双BIOS、top swap、dual PEI等等手段,保证在最坏情况,还有办法恢复BIOS。

笔记本比较特殊,有些厂商更新BIOS的时候要求必须连接电源,并且电池电量必须大于多少,来保证万无一失。

至于扣下来BIOS,用programmer自己烧录的方法非常不建议使用。SPI Flash插反会烧掉片子,直接烧录会跳过完整性和真实性检查。如果你仔细观察cap文件,会发现它比BIOS的SPI Flash大一些,直接烧录cap文件是做不到的。

结论

虽然BIOS更新现在远远称不上User Friendly,至少比手机更新固件的体验还是差了一大截。苹果和安卓手机用的push方式更新固件,保证了用户可以即使得到通知并在合适的时机更新固件。我相信很少会有人主动在BIOS里面更新固件,Windows app或者windows update只解决了在windows世界的问题,Linux世界却留下了大段的空白。UEFI业内也在积极行动,寻找一种体验更好、更高效也更安全的更新方式。

但是更新BIOS还是必须要做的,风险也是十分的小,如果你已经看到BIOS更新的提示而选择忽略的话,也许更大的风险被隐藏了起来。

参考资料:

[1]: Introducing Project Mu

[2]: LVFS: Home

相关文章

TPLink路由器是一款功能强大的网络设备,但在使用过程中,我...
TL-WR880N是一款常见的家用路由器,但在使用过程中可能会遇到...
TP-LinkAC1900路由器是一款高性能的无线路由器,它可以支持多...
在家庭或办公室网络中,路由器是连接设备和互联网之间的关键...
TP-Link路由器的网站是tplogin.cn或者192.168.0.1也可以登入...
随着互联网的飞速发展,家庭网络环境越来越重要。路由器是组...