tft每日頭條

 > 生活

 > 自己如何更新bios

自己如何更新bios

生活 更新时间:2024-09-16 05:16:03

自己如何更新bios(跟我學改BIOS之一BIOS裡面都有什麼)1

人物和情節完全虛構,純屬加戲,請勿對号入座。前傳在這裡:内存系列一:快速讀懂内存條标簽

單位的小張自從上次深入學習了内存條的知識後,對計算機興趣大增,從此沒事就擺弄電腦的各種配件,慢慢地小有名氣起來,人稱計算機“小能手”。小夥的“研究”越來越深入,拼拼湊湊已經不能滿足他裝那個啥的需求了。這一天突發奇想,想DIY一個高級BIOS:“如果我的BIOS能夠直接支持NTFS分區,那不是可以省掉UEFI分區了嗎?一定大受歡迎!”想着,臉上不禁放出光來,開始腦補推出高級BIOS,掙一大筆錢,從此迎娶白富美,走上人生巅峰的畫面。小張咽了咽口水,說幹就幹,立刻把桌子上的電腦大卸八塊。但看到躺倒在桌子上無辜的主闆,不禁拔劍四顧心茫然,從哪裡開始呢?

不出意外,小張又來找我了。看到他崇拜的目光和恭維的話語,剛到嘴邊的"都折現吧"被我吞了回去。好吧,老規矩,請喝一杯咖啡,帶你裝那個啥帶你飛!半杯咖啡下肚,我雖然對他在數個TB的硬盤中節省一百來MB的主意不以為然,但還是為他出謀劃策起來。這件事完全可行,不需要BIOS的源代碼。為達到目标,我們需要分成三個步驟:

1.理論準備:知道BIOS文件的構成。

2.工具準備:如何讀取主闆BIOS映像文件和燒錄回去修改過的BIOS文件。

3.動手實操:利用工具在BIOS中注入NTFS驅動。

今天時間有限,我們先從第一步開始講起。

BIOS文件發展曆史

我們從應用最廣泛的Intel系主闆來講。回到The good old days,那還是2005年,BIOS文件裡面就是BIOS,我們的小甜甜南橋還是ICH7。多麼純粹,多麼自然!可惜好日子在ICH8後改變了,為了加入ME的支持,引入了一個叫做Descriptor mode的東西,從此SPI Flash裡面不再隻有BIOS文件,而變成了一個這樣的結構 :

自己如何更新bios(跟我學改BIOS之一BIOS裡面都有什麼)2

來源參考資料1

BIOS燒片文件裡面擠進來ME Image、南橋網卡的驅動和一些平台數據,叫做BIOS文件就比較勉強了。在經過一段時間的混亂後,Intel平台的BIOS文件開始統一叫做IFWI。這個官方名字讓不少同學感到困惑,IFWI第一個I難道是Intel的縮寫嗎?非也,IFWI是(Integrated Firmware Image)的縮寫,畢竟這個Image裡面不僅僅是BIOS一個固件,包括了很多各種固件,所以叫做集成固件映像文件更加準确。IFWI文件裡面最初隻有ME和網絡驅動,後面随着南橋裡面的固件越來越多,現在内容也慢慢豐富起來,包括了ISH、TB FW、TB PHY等等内容。

BIOS編譯的時候,是先編譯出符合UEFI标準的BIOS文件FD,再通過一個叫做Stitch的過程,将IFWI裡面的各個模塊“縫合”在一起。這其中,最重要的一步就是調用一個叫做FIT的工具,将神秘的Descriptor部分填寫好。那麼這個”描述表“裡面有些什麼東西呢?

後期IFWI在還引入了一個表,固定在(4GB - 40h)這個地址,叫做FIT table 的結構,用來指向BIOS簽名等等信息,它的Spec大家可以自行學習。

Descriptor的内容

Descriptor,故名思意,裡面是一個描述表。現在有不少公開文檔介紹裡面的詳細内容,如ApolloLake 的文檔:

自己如何更新bios(跟我學改BIOS之一BIOS裡面都有什麼)3

總的來說是一堆指針,指向IFWI中各個固件。他們的内容可以參考參考資料1,這裡面比較有意思的是這個叫做SoftStrap的節。什麼叫做SoftStrap呢?它對應以前的Hard Strap,也就是主闆硬件連線的Strap,從前作死在主闆上的Strap,現在可以通過軟件配了,所以叫做Soft。裡面有很多有趣的内容,包括南橋HSIO的分配就是從這個表裡面得到信息:

自己如何更新bios(跟我學改BIOS之一BIOS裡面都有什麼)4

尾聲

一杯咖啡的時間很快就到了,看着小張求知的表情,我知道,下一杯免費咖啡有指望了。我拍拍屁股,不帶走一張賬單,留下小張陷入深深的思考中。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved