Basic_Input_Output_System

**BIOS**（英文：**B**asic **I**nput/**O**utput **S**ystem），即**基本輸入輸出系統**，亦稱為 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。

## 操作

### 系統啟動

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

### 設定畫面

大約從 80386 PC 開始，個人電腦的 BIOS ROM 整合了設定程式（Setup）。主機板的 CMOS 晶片用於儲存 BIOS 設定值及硬體偵測值。主機板上的鈕扣電池用於讓 CMOS 儲存 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 中斷呼叫。

### 微代碼更新

自 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 Research 均被鳳凰科技收購，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 相容性支援模組）。

## 參見

* 可延伸韌體介面（UEFI）
* 韌體
* 系微公司
* American Megatrends
* SMBIOS
* Option ROM
* ACPI
* Aptio
* VESA BIOS Extensions
* El Torito

## 外部連結

* Basic Input Output System（頁面存檔備份，存於網際網路檔案館）
* OpenBIOS（頁面存檔備份，存於網際網路檔案館）
* SPI Flash Solutions for BIOS updates