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可以讓用戶選擇由哪個啟動裝置啟動電腦,如光碟機硬碟軟碟USB手指等等。現代大多數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).