揭秘升級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:
揭秘升級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文件:
揭秘升級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升級有必要嗎】但是更新BIOS還是必須要做的,風險也是十分的小,如果你已經看到BIOS更新的提示而選擇忽略的話,也許更大的風險被隱藏了起來 。

    推薦閱讀