BIOS

电子计算机启动时用于初始化硬件的通用固件系统

BIOS(英文:Basic Input/Output System),即基本輸入輸出系統,亦稱為ROM BIOS、System BIOS、PC BIOS,是在通電啟動階段執行硬體初始化,以及為作業系統提供運行時服務的韌體。BIOS最早隨著CP/M作業系統的推出在1975年出現。BIOS預安裝在個人電腦主機板上,是个人电脑启动时加载的第一个軟體。

BIOS
American Megatrends BIOS
儲存位置PROM
EPROM
快閃記憶體
常见制造商安迈科技
系微
鳳凰科技英语Phoenix Technologies
Byosoft

現在,BIOS的作用是初始化和測試硬體元件,以及從大容量儲存裝置(如硬碟)載入啟動程式,並由啟動程式載入作業系統;當載入作業系統後,BIOS通過系統管理模式作業系統提供硬體抽象。在DOS時代,BIOS為DOS作業系統提供鍵盤、顯示及其他I/O裝置的硬體抽象層

許多BIOS程式都只能在特定電腦型號或特定主機板型號上執行。早年,BIOS儲存於ROM晶片上;現在的BIOS多儲存於快閃記憶體晶片上,這方便了BIOS的更新。

1980年代,IBM發明了IBM PC,但最初BIOS是IBM PC上唯一不開放的元件,給IBM PC的複製(Clone)帶來了麻煩。隨後COMPAQ複製了IBM PC,Phoenix Technologies等公司亦複製了IBM PC的BIOS部件,可為當時的IBM PC相容機廠商提供BIOS。

統一可延伸韌體介面(UEFI)正在逐步取代舊式BIOS,但仍有很多产品支持兼容模式,通过Legacy选项,不过这种支持已经逐渐减少。目前,UEFI与兼容支持模式(UEFI+CSM)成为主流,但最新的产品已经不再支持兼容模式,仅支持UEFI。

操作

编辑

系統啟動

编辑

當電腦的電源開啟,BIOS就會從主機板上的ROM晶片執行,執行加電自檢(POST),測試和初始化CPURAM直接記憶體存取控制器、晶片組鍵盤軟碟硬碟等裝置。當所有的Option ROM被載入後,BIOS就試圖從啟動裝置(如硬碟軟碟光碟)載入啟動程式,由啟動程式載入作業系統。BIOS也可從網卡等裝置啟動。

設定畫面

编辑

大約從80386 PC開始,個人電腦的BIOS ROM整合了設定程式(Setup)。主板的CMOS晶片用於儲存BIOS設定值及硬體偵測值。主板上的鈕扣電池用於讓CMOS儲存BIOS設定值,以及電腦在斷電時依然可以讓系統時鐘運作。

現代的BIOS可以讓使用者選擇由哪個啟動裝置啟動電腦,如光碟機硬碟軟碟隨身碟等等。现代大多数BIOS支持图形化交互界面,有一些是厂商制作的,使用者可以用鼠标键盘完成操作。

BIOS韌體

编辑

由於BIOS與硬體系統整合在一起(將BIOS程式指令燒錄在IC中),所以有時候也被稱為韌體。在大約1990年BIOS是保存在ROM唯讀記憶體)中而無法被修改。因為BIOS的大小和複雜程度隨時間不斷增加,而且硬體的更新速度加快,令BIOS也必須不斷更新以支援新硬體,於是BIOS就改為儲存在EEPROM或者快閃記憶體中,讓使用者可以輕易更新BIOS。然而,不適當的執行或是終止BIOS更新可能導致電腦無法使用。為了避免BIOS損壞,有些主機板有備份的BIOS(「雙BIOS」主機板)。現在的BIOS有「啟動區塊」(Boot Block),屬於BIOS ROM的一部份,一開機就會被執行。這個程式會在執行BIOS前,驗證BIOS其他部分是否正確無誤(經由核對和等等)。如果啟動區塊偵測到主要的BIOS已損壞,則可自動讀取USB隨身碟/光碟中的特定BIOS檔案並更新BIOS。主機板廠商/OEM經常發出BIOS升級來更新他們的產品和修正已知的問題。

作業系統服務

编辑

BIOS可通過BIOS中斷呼叫MS-DOS作業系統及MS-DOS程式提供磁碟、鍵盤、顯示等標準服務。通過BIOS中斷呼叫存取視訊硬體非常緩慢,因此,有些DOS程式(尤其是遊戲)通過直接存取視訊硬體提高效率。

現代作業系統僅在啟動時使用BIOS中斷呼叫[1]

微代碼更新

编辑

P6微架構開始,Intel處理器支援可重新編程的微碼。自K7微架構開始,AMD處理器支援可重新編程的微碼。BIOS包含處理器微代碼更新。微代碼被載入到處理器的SRAM中,所以微代碼更新並不是持久的,需要在每次系統啟動時更新處理器微代碼。作業系統也可以更新主處理器的微代碼[2][3]

其他韌體

编辑

現代BIOS包括英特爾管理引擎[4]AMD平台安全處理器和板載Video BIOS韌體

一些BIOS支援超頻

現代用途

编辑

BIOS以16位元真實模式執行。現代作業系統以保護模式長模式執行,因為使用BIOS的16位元真實模式服務(如BIOS中斷呼叫)是低效的。在1990年代,BIOS為作業系統提供APM舊式隨插即用英语Legacy PnP桌面管理介面英语Desktop Management Interface功能;在2000年代至今,BIOS則為作業系統提供ACPISMBIOS英语SMBIOS功能[5][6][7]

CMOS的联系和区别

编辑

BIOS与CMOS的关系

编辑

CMOS是计算机上另一个重要的存储器。之所以提到它,是因为BIOS程序的設定值、硬件參數偵測值就保存在CMOS中。而且,在BIOS程式啟動计算机時,需要载入CMOS中的設定值。CMOS通常被整合在南橋晶片組中。UEFI系統則多用NVRAM儲存設定。

BIOS与CMOS的区别

编辑

二者的区别是,BIOS是儲存在只读存储器EEPROM快閃記憶體),而CMOS为随机存储器(RAM);BIOS中存储的是程序,而CMOS中存储的是普通信息。

CMOS的內容在斷電會消失。所以,把主機板的電池拆出,便可重置其內容。另外,拆出電池也會重設時間

擴充程式(Option ROM)

编辑

擴充卡硬碟控制器顯示卡網卡可能包含BIOS擴充程式(即Option ROM),為BIOS提供附加的功能。在BIOS啟動作業系統前,Option ROM被BIOS執行。部分內建於主板的裝置(如板載RAID),其Option ROM可能包含在主機板BIOS中。Option ROM通過BIOS啟動規範英语BIOS Boot Specification擴充BIOS的啟動功能。

系統初始化

编辑

系統在加電自檢(POST)階段,尋找並執行Option ROM。Option ROM通過BIOS中斷呼叫對硬體進行測試、初始化,並顯示診斷資訊或顯示設定畫面。

供應商

编辑

目前全球只有四家獨立BIOS供應商(IBV),曾經的Award Software英语Award SoftwareGeneral Software英语General Software、Microid均被凤凰科技英语Phoenix Technologies收購,SystemSoft英语SystemsoftInsyde Software收購。

取代

编辑

英特尔2000年開發出可扩展固件接口(Extensible Firmware Interface),隨後,由业界多家著名公司共同成立统一可扩展固件接口论坛(UEFI Forum),EFI被更名為UEFI,且由UEFI論壇制定新的UEFI規範。

現UEFI正在取代傳統BIOS,且Intel已經於2020年棄用傳統BIOS介面,屆時Intel產品不再支援基於16位真實模式的UEFI CSM(UEFI相容性支援模組)[8]

參見

编辑

外部連結

编辑
  1. ^ From bootloader to kernel · Linux Inside. 0xax.gitbooks.io. [2020-09-18]. (原始内容存档于2020-08-06). 
  2. ^ KB4100347: Intel microcode updates. support.microsoft.com. [2020-09-20]. (原始内容存档于2020-09-08). 
  3. ^ Microcode - Debian Wiki. wiki.debian.org. [2020-09-19]. (原始内容存档于2020-06-20). 
  4. ^ ME - flashrom. www.flashrom.org. [2020-09-19]. (原始内容存档于2019-08-05). 
  5. ^ What is ACPI (Advanced Configuration and Power Interface)? - Definition from WhatIs.com. SearchWindowsServer. [2020-09-18]. (原始内容存档于2019-05-15) (英语). 
  6. ^ Changing hardware abstraction layer in Windows 2000 / XP – Smallvoid.com. [2020-09-18]. (原始内容存档于2020-02-11) (美国英语). 
  7. ^ What is ACPI?. www.spo-comm.de. [2020-09-18]. 
  8. ^ 存档副本 (PDF). [2019-03-17]. (原始内容存档 (PDF)于2019-02-01).