![BIOS 儲存在哪裡?](https://rvso.com/image/1395272/BIOS%20%E5%84%B2%E5%AD%98%E5%9C%A8%E5%93%AA%E8%A3%A1%EF%BC%9F.png)
從https://en.wikipedia.org/wiki/BIOS:
BIOS 軟體儲存在非揮發性 ROM主機板上的晶片。 ....在現代電腦系統中,BIOS 內容儲存在快閃記憶體晶片以便內容可以重寫無需從主機板上取下晶片。這使得 BIOS 軟體可以輕鬆升級以添加新功能或修復錯誤,但可能使電腦容易受到 BIOS Rootkit 的攻擊。
因為 ROM 意味著r頭-哦尼利米emory,為什麼BIOS內容可以改寫?
「快閃記憶體晶片」和「非揮發性ROM」是同一個東西嗎,都是指BIOS 的儲存位置?
答案1
為了補充 Varaquilex 的答案,BIOS 軟體儲存在電可擦除可編程 ROM (EEPROM) 中,這使得能夠以電子方式執行韌體更新。非常古老的 BIOS 晶片實際上是 UV-EPROM 晶片,需要透過紫外線照射進行擦除才能重新編程。
編輯:正如評論中所指出的,甚至早於有時使用的一次性可編程 ROM (PROM) 晶片,一旦配置就根本無法重新編程,並且需要完全更換才能升級(儘管很少需要)。
答案2
ROM是唯讀的,為什麼BIOS的內容可以改寫呢?
BIOS程式它本身儲存在 EEPROM(可電擦除和編程)或快閃記憶體中。所以這裡的只讀是指晶片是非揮發性的。與揮發性 RAM 不同,記憶體的內容在斷電時仍保留。 EEP 的 ROM 有助於重寫或更新 BIOS。當時進行此類操作,您必須從主機板上卸下 BIOS 晶片,放入新的晶片(如果不是 PROM 或 EPROM),或者如果是 EPROM,則必須將其交給製造商並讓他們重新編程晶片並將其重新連接到電路板。在當前的進步之後,由於有了 EEPROM,您無需移除晶片即可執行此類操作,只需讓電腦完成這項工作即可電的。
「快閃記憶體晶片」與「非揮發性ROM」的意思是否相同,都表示BIOS 的儲存位置?
從維基百科:
快閃記憶體是一種電子非揮發性電腦儲存介質,可以電擦除和重新編程。
快閃記憶體是從EEPROM(電可擦除可程式唯讀記憶體)發展而來的。快閃記憶體主要有兩種類型,分別以 NAND 和 NOR 邏輯閘命名。各個快閃記憶體單元的內部特性表現出與相應柵極相似的特性。 EPROM 在重寫之前必須完全擦除,而 NAND 型快閃記憶體可以按區塊(或頁)進行寫入和讀取,區塊(或頁)通常比整個裝置小得多。 NOR 型快閃記憶體允許將單一機器字(位元組)寫入到擦除位置或獨立讀取。
EEPROM 和快閃記憶體並不是指同一個東西:它們是兩種相似的記憶體類型,一種是從另一種發展而來,並且包含不同類型/配置的 MOS 電晶體。然而,它們是BIOS程式所在的記憶體。
為了解決另一個誤解,我想提一下 CMOS-BIOS 關係:
這BIOS 設定儲存在 CMOS 晶片中(透過主機板上的電池保持供電)。這就是當您取出電池並重新安裝電池時 BIOS 會重置的原因。運行相同的程序,但設定為預設值。看這個答案有關啟動過程中使用的記憶體的詳細視圖。
編輯
擴充 CMOS-BIOS 主題,感謝@Andon M.科爾曼,我想在答案中添加他的評論:
值得一提的是,BIOS 設定不必儲存在揮發性 CMOS 記憶體中。有許多嵌入式系統將其設定儲存在 NVRAM 中。這些年來 PC 一直使用揮發性 CMOS 的唯一原因是它們已經有一塊電池,可以在電源關閉時保持內部實時時鐘滴答作響(回想一下,當您按下 PC-AT 上的電源開關時) ,它實際上切斷了主機板的所有電源)。這意味著可以使用更便宜的揮發性記憶體來儲存系統設定。所以它主要是出於歷史目的。
答案3
作為其他答案的補充,我喜歡更直觀的方法:
該 BIOS 晶片似乎並沒有很好地安裝在其插槽中。
BIOS(包括新穎的 UEFI BIOS)是儲存在主機板晶片上的軟體。 zelanix 和 Varaquilex 已經涵蓋了技術細節。
該晶片通常(但並非總是)可拆卸,以便於維修。某些主機板包含多個 BIOS,主要是作為銷售噱頭,但在某些情況下,第二個 BIOS 有助於從某些(通常是用戶引起的)問題中恢復:
答案4
請看 2005 年 1 月的維基百科文章:
大約在 1990 年之前,BIOS 保存在無法更改的 ROM 晶片上。隨著其複雜性和更新需求的成長,BIOS 韌體儲存在可由用戶升級的 EEPROM 或快閃裝置上。但是,BIOS 更新執行不當或中止可能會導致電腦或裝置無法使用。為了避免 BIOS 損壞,一些新主機板具有備份 BIOS。此外,大多數 BIOS 都有一個“引導區塊”,它是 ROM 的一部分,首先運行且不可更新。該程式碼將在跳到 BIOS 的其餘部分之前驗證其是否完好(透過校驗和、雜湊等)。
當然,現在我們有一篇維基百科文章讓人困惑,它一口氣說該晶片是“非揮發性ROM”,然後就可以寫入。這裡要吸取的教訓是,維基百科通常寫得不是很好,而且文章會發生變化,但並不總是變得更好。
我建議看書。斯科特·穆勒的升級和維修電腦,挑選幾本書中的一本,有一整章關於BIOS,討論了從BIOS 晶片所在的位置到此類晶片的各種類型(列出四種:ROM、PROM、EPROM 和EEPROM)的各種內容。
一些引言:
無論您的系統使用哪種類型的 ROM,ROM 晶片中儲存的資料都是[原文如此]非揮發性並且無限期地保留,除非故意擦除或覆蓋(在可能的情況下)。 —升級和維修電腦,第 373 頁
事實上,自 1996 年以來生產的所有 PC 都包含用於儲存 BIOS 的快閃 ROM。快閃記憶體 ROM 是一種 EEPROM 晶片,無需特殊設備即可直接在系統中擦除和重新編程。 —升級和維修電腦,第 387 頁
書籍並不完美。例如,人們可以對穆勒對快閃記憶體的「乍看之下」定義進行爭論。但好的內容通常都經過校對,比維基百科的大部分內容有更連貫的解釋,至少不會逐句自相矛盾。
假設有一台現代 PC,並且不要陷入二十年前 PC 的工作方式:
您機器的韌體保存在主機板上的非揮發性記憶體晶片上。它實際上容納了相當多的東西。 (中提到的 Pm49FL004T我的回答在這裡擁有半個 MiB,如中所述我的回答在這裡有些晶片組能夠支援 16MiB 的韌體。它的內容是可修改的,但不像主系統 RAM 的(易失性)內容那麼容易。在 EFI 系統上,晶片不僅保存韌體代碼和(唯讀)數據,還保存非揮發性 EFI 變數的值。