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).