BIOS

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

現在，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），測試和初始化CPU、RAM、直接記憶體存取控制器、晶片組、鍵盤、軟碟、硬碟等裝置。當所有的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升級來更新他們的產品和修正已知的問題。

## 作業系統服務

<image>

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

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

### 微代碼更新

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

### 其他韌體

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

### 超頻

一些BIOS支援超頻。

### 現代用途

BIOS以16位元真實模式執行。現代作業系統以保護模式或長模式執行，因為使用BIOS的16位元真實模式服務（如BIOS中斷呼叫）是低效的。在1990年代，BIOS為作業系統提供APM、舊式隨插即用、桌面管理介面功能；在2000年代至今，BIOS則為作業系統提供ACPI、SMBIOS功能。

## 與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的啟動功能。

### 系統初始化

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

## 供應商

目前全球只有四家獨立BIOS供應商（IBV），曾經的Award Software與General Software、Microid均被鳳凰科技收購，SystemSoft被Insyde Software收購。

- Phoenix Technologies，美國鳳凰科技。
- American Megatrends，美國安邁科技，目前為全球最大的BIOS供應商。之前被鳳凰科技超過。
- Insyde Software，台灣系微公司。
- Byosoft，新興廠商，中國大陸的百敖軟體公司。

## 取代

英特爾於2000年開發出可擴展固件接口（Extensible Firmware Interface），隨後，由業界多家著名公司共同成立統一可擴展固件接口論壇（UEFI Forum），EFI被更名為UEFI，且由UEFI論壇制定新的UEFI規範。

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

## 外部連結

- Basic Input Output System
- OpenBIOS
- SPI Flash Solutions for BIOS updates

## 基本資料

- class-name：儲存位置
- 綱：PROM
- 綱：EPROM
- 綱：快閃記憶體
- 安邁科技：系微
- 安邁科技：Byosoft