Re: [情報] AMD宣布B450 X470將支援Zen 3
※ 引述《cody880528 (CYPuzzle)》之銘言:
大家對刷BIOS (你看看UEFI喊了n年我們還是叫他BIOS)
這麼有興趣 就來稍微聊聊刷BIOS是怎麼個回事.
目前業界主要使用的是UEFI架構 太細我們不講
UEFI架構下 Firmware會有兩個最主要的區塊: PEI / DXE 這點在目前的主要
IBV(出BIOS firmware的廠商:AMI Insyde Phoenix)做法都差不多 除了Intel自家好像
會搞些奇奇怪怪的設計而把Firmware切得更奇怪一點. 然後再加上AMD的PSP/Intel的ME
以及用來存放設定的一些小區塊 總之大概是這樣:
SPI ROM (假設16M)
|---------------------------------------------------------------------------|
|----------------------------|-----|-------|------------------|-------------|
ME/PSP NVRAM 不知三小 DXE PEI
以上廢話, 總之記得"每個區塊有一定的size"
總之BIOS大概就分成這些區域
那以這次AMD的設計我們可能會面對幾個問題
1.PSP因為多次向下相容造成肥大化
2.PEI/DXE也多次向下相容肥大化
3.設定項目改變
最基本的就是總容量的問題, 放不下就啥都不用講了. 所以勢必得放棄部分的向下相容
讓程式碼的總需求維持在16M
再來就是為了讓刷BIOS的時候不會一失敗就直接死透 通常的設計我們會是把最重要的
區塊最後處理 甚至是某些區域不更新 例如NVRAM跟那個不知三小 有時候是用來存放
一些設定跟板廠的一些初始資料 譬如你主機板的序號等等的東西 這些區塊我們更新
BIOS的時候是跳過的 然後通常因為PEI中會放置一些程式碼 當意外發生而讓DXE爛掉時
還能救回 所以有時候我們會跳過 或是等DXE部分刷完後驗證都正確才去刷PEI.
至於PSP,就是看AMD有沒有針對新CPU更新 有的話就需要一起刷掉.
所以我們可以把更新BIOS的流程大概看做這樣:
刷NVRAM和不知三小(or跳過)->刷DXE->刷PEI->刷PSP (好像啦 我也忘了)
好那麼問題來了 既然是分區分塊刷, 首先的問題就是 如果因為容量的關係工程師想調整
區塊的size 那很抱歉 舊->新 這個狀況下我們還可以故意在新BIOS中加入一些程式碼來
處理一些區塊size改變造成的問題 且此時就難以透過分區的方式來避免刷一半停電之類
狀況造成需要做recovery自救.
存放在舊的NVRAM設定如果想保留, 也必須要額外處理, 或是就乾脆全刷掉.
但是新->舊的話以上都不可能 因為舊的BIOS肯定看不懂新的配置 唯一選擇是完全清除
所以降版最大的問題往往都在於 新的BIOS有方法可以看懂舊的BIOS的設定配置參數等
但反之不行, 改SPI rom的區塊就更不行.
最後就是有人手殘 明明用的是最舊的Zen1刷了不支援Zen1的新BIOS, GG.
所以通常此時廠商就直接不給降版了, 因為風險高, RMA會很累.
AMD要凹這些廠商願意去做這件事情 就得幫他們想出可行的辦法 像是怎麼讓更新過程更
安全, 或是最佳化程式碼來盡量塞入能夠相容最多款CPU
至於用離線燒錄的方式 那當然是沒啥問題 反正都刷光光了
原廠會有方法保留他們想保留的東西 或甚至調出主板資料重新寫入 不過這就跟RMA一樣
成本問題.
以上騙騙P幣
話說這種改版, 板卡廠的反應大概是:
engineer: 幹. 又要升code. 林老師A合完連compile都過不了, 出bug要搞到哪時候.
QA: 幹. 改版改成這樣連testplan都要改嗎.
PM: 快點啦人家雞排都出了我們石頭哪時候才要release.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.14.162.153 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/PC_Shopping/M.1589934578.A.AE5.html
※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 08:30:22
※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 08:30:43
推
05/20 08:35,
3年前
, 1F
05/20 08:35, 1F
總容量應該是ok 但是之前的分割塞不塞得下就難說.
假設當初PEI割太小了 新Agesa塞不下 那就糗了.
SPI又不能像硬碟一樣來個Partition Magic不損失資料重新分割
推
05/20 08:36,
3年前
, 2F
05/20 08:36, 2F
跟你說 UEFI的Variable主要就是放在NVRAM (SPI)
推
05/20 08:36,
3年前
, 3F
05/20 08:36, 3F
推
05/20 08:36,
3年前
, 4F
05/20 08:36, 4F
4der
推
05/20 08:39,
3年前
, 5F
05/20 08:39, 5F
推
05/20 09:01,
3年前
, 6F
05/20 09:01, 6F
推
05/20 09:01,
3年前
, 7F
05/20 09:01, 7F
→
05/20 09:01,
3年前
, 8F
05/20 09:01, 8F
這我就不太清楚 但通常都是能支援大的啦 然後廠商因為成本因素硬要塞進小的
噓
05/20 09:02,
3年前
, 9F
05/20 09:02, 9F
推
05/20 09:06,
3年前
, 10F
05/20 09:06, 10F
→
05/20 09:07,
3年前
, 11F
05/20 09:07, 11F
→
05/20 09:07,
3年前
, 12F
05/20 09:07, 12F
不行,SOC/CPU能從哪裡開機是看晶片組的支援 x86幾乎都得要來一顆SPI.
不過Intel有搞過一顆小容量SPI然後剩下的部分放在eMMC的方案給低價平板使用
後來好像還是沒啥人玩(話說Intel平板幾乎=0..)
但eMMC/Flash啥的也要錢啊. 本來DT/NB就沒相關設計又硬要多搞一個上去 更貴吧
不如把SPI加大.
※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 09:27:18
※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 09:31:16
推
05/20 09:29,
3年前
, 13F
05/20 09:29, 13F
其實全刷本來就不是問題 問題發生在
1.想保留部分舊的資料/設定參數
2.萬一刷一半出包時救援方案
dual bios比較有能力解決的是#2. 但就算dual bios應該也是要面對退版問題
※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 09:38:58
推
05/20 09:48,
3年前
, 14F
05/20 09:48, 14F
→
05/20 09:49,
3年前
, 15F
05/20 09:49, 15F
HDD沒接連BIOS都進不了啦啦啦..
推
05/20 10:14,
3年前
, 16F
05/20 10:14, 16F
→
05/20 10:15,
3年前
, 17F
05/20 10:15, 17F
BB? 我想到的是boot block 這是傳統說法 相當於UEFI架構下的PEI
跟存設定沒啥關係. 還是你說的是BB霜 這我就不太熟.
推
05/20 10:16,
3年前
, 18F
05/20 10:16, 18F
推
05/20 10:23,
3年前
, 19F
05/20 10:23, 19F
Black Infinite Orbit Stream!! 我覺得這個比較中二!!
※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 10:46:31
推
05/20 10:40,
3年前
, 20F
05/20 10:40, 20F
推
05/20 10:42,
3年前
, 21F
05/20 10:42, 21F
→
05/20 10:43,
3年前
, 22F
05/20 10:43, 22F
推
05/20 11:16,
3年前
, 23F
05/20 11:16, 23F
→
05/20 11:41,
3年前
, 24F
05/20 11:41, 24F
→
05/20 11:41,
3年前
, 25F
05/20 11:41, 25F
engineer/QA: 求放過...
推
05/20 11:45,
3年前
, 26F
05/20 11:45, 26F
→
05/20 11:45,
3年前
, 27F
05/20 11:45, 27F
→
05/20 11:45,
3年前
, 28F
05/20 11:45, 28F
→
05/20 11:45,
3年前
, 29F
05/20 11:45, 29F
還有 30 則推文
還有 7 段內文
→
05/20 12:53,
3年前
, 60F
05/20 12:53, 60F
→
05/20 12:54,
3年前
, 61F
05/20 12:54, 61F
→
05/20 12:56,
3年前
, 62F
05/20 12:56, 62F
→
05/20 12:58,
3年前
, 63F
05/20 12:58, 63F
→
05/20 12:58,
3年前
, 64F
05/20 12:58, 64F
→
05/20 13:12,
3年前
, 65F
05/20 13:12, 65F
推
05/20 13:19,
3年前
, 66F
05/20 13:19, 66F
→
05/20 13:19,
3年前
, 67F
05/20 13:19, 67F
其實免CPU/不需要進BIOS就能刷BIOS 這個功能以減少RMA來說倒是相當有用的
我覺得人人都應該要(ry) 但這功能也變相又多了一個安全性上的突破點
還需要一些額外的考量
不過如果我們回到升降板的問題來看的話 不管你用哪種手段 都刷光光其實一直都是最
乾淨的方式 可惜升降板會卡到的問題 多半就是當你不被允許都刷光光的時候
所得要面對的東西
※ 編輯: comipa (101.14.162.153 臺灣), 05/20/2020 13:25:59
推
05/20 13:24,
3年前
, 68F
05/20 13:24, 68F
→
05/20 13:24,
3年前
, 69F
05/20 13:24, 69F
推
05/20 13:37,
3年前
, 70F
05/20 13:37, 70F
推
05/20 13:39,
3年前
, 71F
05/20 13:39, 71F
推
05/20 14:00,
3年前
, 72F
05/20 14:00, 72F
推
05/20 14:09,
3年前
, 73F
05/20 14:09, 73F
→
05/20 14:09,
3年前
, 74F
05/20 14:09, 74F
→
05/20 14:40,
3年前
, 75F
05/20 14:40, 75F
→
05/20 14:40,
3年前
, 76F
05/20 14:40, 76F
→
05/20 15:10,
3年前
, 77F
05/20 15:10, 77F
→
05/20 15:12,
3年前
, 78F
05/20 15:12, 78F
→
05/20 15:12,
3年前
, 79F
05/20 15:12, 79F
→
05/20 15:13,
3年前
, 80F
05/20 15:13, 80F
推
05/20 15:16,
3年前
, 81F
05/20 15:16, 81F
→
05/20 15:17,
3年前
, 82F
05/20 15:17, 82F
→
05/20 15:18,
3年前
, 83F
05/20 15:18, 83F
推
05/20 17:07,
3年前
, 84F
05/20 17:07, 84F
→
05/20 17:23,
3年前
, 85F
05/20 17:23, 85F
推
05/20 18:45,
3年前
, 86F
05/20 18:45, 86F
推
05/20 19:10,
3年前
, 87F
05/20 19:10, 87F
推
05/20 21:15,
3年前
, 88F
05/20 21:15, 88F
→
05/20 21:25,
3年前
, 89F
05/20 21:25, 89F
→
05/20 21:25,
3年前
, 90F
05/20 21:25, 90F
→
05/20 21:25,
3年前
, 91F
05/20 21:25, 91F
推
05/20 21:30,
3年前
, 92F
05/20 21:30, 92F
沒錯 比喻來說 就像你換了大容量的HDD/SSD 如果舊資料要直接轉過去
484其實還是要重新分割? 不然多出來的空間根本沒用到
而且BIOS很多東西是直接用位址去存取的 改空間規劃等於所有用到這種位址的東西
可能都得改 事情就麻煩多了
推
05/20 23:53,
3年前
, 93F
05/20 23:53, 93F
推
05/21 01:41,
3年前
, 94F
05/21 01:41, 94F
推
05/21 02:17,
3年前
, 95F
05/21 02:17, 95F
※ 編輯: comipa (220.133.98.140 臺灣), 05/21/2020 06:13:03
推
05/21 21:42,
3年前
, 96F
05/21 21:42, 96F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 4 篇):