|
第120期 带你深入了解BIOS刷新全过程(1)
相信很多读者对于“BIOS刷新”并不陌生,因为通过“刷新BIOS”不但可以增加新功能,而且可以解决一些兼容上的问题。但是我们在刷新的过程中,有时会出现一些这样、那样的问题,而使刷新失败。那么是什么原因造成刷新失败呢?其实如果你了解一下BIOS的刷新过程,将解开这些疑问。
要将BIOS文件写入到BIOS芯片中,要涉及到:BIOS文件、BIOS芯片以及BIOS刷新程序。因此我们就从这三方面做一下详细介绍。(主要介绍BIOS芯片,因为了解了BIOS芯片,也就明白了刷新的过程)
BIOS从类型上可分为:AWARD BIOS、AMI BIOS、Phoenix BIOS。三种BIOS各有各的特点(我们这里不详细说明),但是无论是那一类型的BIOS,都是给系统硬件提供最低层、最直接的驱动。BIOS文件是一个压缩的二进制文件(以AWARD
BIOS为例,AMIBIOS的原理与其是一致的,有些地方甚至完全一致。如其两种BIOS文件的BOOT块起始地址,1M文件都从1E000H处开始,2M文件从3E000H处开始)(图一),大体可分为三部分,一部分称为SYSTEM
BIOS,是系统中最基本的部分,文件名一般为Original.tmp,所有的BIOS都有这一部分(图二),其中包含有基本的BIOS程序、提示信息及指令等;其实这一部分同时也是解压缩程序,在这以后的各模块主要是靠此部分来解压缩的;同时在其中定义了文件的寻址空间。我们用MODBIN程序打开一个BIOS文件时,其临时文件即为SYSTEM
BIOS模块,大小为128K(平时,我们修改BIOS中的内容,主要是修改这部分)。第二部分为扩展BIOS程序,是各个厂商自己定制的不同于标准Award
BIOS的功能,实际上几乎所有的厂商都会增加这一部分内容;然后是CPU微代码、ACPI等模块,我们可以在这其间加入其它模块(如捷波恢复精灵);第三部分为BOOT
BLOCK块,这也是BIOS文件中唯一没有被压缩的模块,因其支持ISA显卡和软驱,因此当BIOS被破坏后,我们可以利用这一部分来启动机器并重新恢复。BIOS文件一般有1M(128KB*8)、2M(256KB*8)、4M(512K*8)之分。1Mbit=8*128Kbyte(1Byte=8bit)

图一

图二
BIOS芯片,其实就是BIOS文件的载体。BIOS文件存储在芯片中,通过芯片的外部接口可对芯片中的程序进行擦除和读写。BIOS芯片我们可以理解为一个有多个单元的楼房(芯片的存储单元),每一个单元存储一个二进制代码(0或1)。二进制的BIOS文件,就是这样一一按顺序排列存储在芯片中的。BIOS芯片根据存储原理和工艺,可以分为EPROM、EEPROM、FLASHROM等。EPROM是非易失型存储器(图三)(图四),
 
具有掉电不丢失的特性;其存储单元由浮栅型场效应管构成,利用高压使浮栅带电实现对芯片的写入,擦除内部数据靠紫外线消除浮栅上的电荷,使其不带电。EPROM工作电压为5V,在写入时要用专用的编程器,并且写入时必须要加一定的编程电压(VPP=12-24V,随不同的芯片型号而定),EPROM的型号是以27开头(如ATMEL27C020)。
EEPROM是电擦除非易失型存储器(图五)(图六),其存储单元也是由浮栅型场效应管构成,写入时,利用高压下的隧道效应,令浮栅带电;擦除时,仍是利用高压下的隧道效应,不过电压极性相反,因此令浮栅不带电。EEPROM工作电压为5V,在写入时,需要加上一定的编程电压(VPP=12V),EERPROM的型号以28开头(如AM28F020)。
 
第1页/共3页下一页
出处:PConline
作者:耗子
|