| GZU521.COM学习网 |
|
初步了解bios bios,是基本输入输出系统的简称(basic input-output system),它其实就是个程序或者说是个简单的系统程序,使得计算机在没有硬盘的情况下也能管理关键设备,比如键盘、显卡,硬盘。软驱以及一些必要的端口等等。一般管理系统的这些程序代码就储存在一个rom芯片之中,所以它可以在没有驱动器的基础上启动计算机,即使磁盘子系统出现问题它也一般能正常启动——所以这些代码需要更新的时候很少,所以早期的主板上的bios都是固化在rom芯片中的。随着计算机技术的飞速发展,特别是新的硬件的不断出现,很多场合需要对bios进行更新,于是eeprom(electrically erasable and programmable read-only memory:电可擦除只读存储器)逐渐代替了rom,eeprom也就是我们常说的可擦写存储器(flash rom)。这种类型的芯片允许你使用特定的程序对于bios代码进行更新和升级。目前的主板大都使用了可擦写存储器来存储bios。 Y@;DP|"gG]zw [ 本 资 料 来 源 于 贵 州 学 习 网 电脑课堂硬件DIY http://Www.gzU521.com ] Y@;DP|"gG]zw 一般bios什么情况下需要更新呢?请看下面列出的可能性: 如果你添加一些新的设备,但是你的pc不支持,更新bios可能能解决问题。但是如果你的主板原来只是支持dma33,一般的说即使更新了bios也无法让你享受到dma66的好处。但是比如新的cpu,一般可以通过更新bios来识别并且提供正确的支持——一切都是在硬件符合要求的前提下,比如现在的新celeron在以前的bx主板上,即使通过更新bios可以正确的识别,但是由于一般的bx主板最低cpu电压是2v,而新的celeron的电压是1.7v左右。所以更新bios只是可能解决部分新硬件的问题,如果碰到更新bios也不能解决的情况,那么只有更换主板了。 新的操作系统可能也需要更新bios才能正常运行。这个问题在几年前windows95的即插即用的功能刚刚出现时比较普遍。为了让主板符合windows95要求的这个功能,用户只有通过更新bios或者更换主板来解决。当然现在的主板都是支持即插即用标准的了。但是不是说所有的主板都支持即插即用了,就没有类似的问题了,比如一部分98年、99年产的主板要支持windows98、windows2000的acpi标准,也需要通过更新bios来解决。 升级bios可能会给提升计算机的性能。比如老pentium iii katmai的l2 cache latency在开始的主板上并不能调节,后来新的bios支持这个参数的调节,从而使得系统性能有了明显的提升。 另外一些bios小的问题也可以通过更新bios来解决,这些问题可能对你平时的使用并没有很明显的影响,但是可能时是出现某些问题的隐患,所以防患于未然,更新bios也是值得的。 最后就是上个世纪末,成为热门话题的千年问题,这个问题一般可以通过更新bios来解决。 虽然通过升级bios一般的可以提升系统性能或者支持更多更新得硬件设备,但是因为升级bios而造成系统崩溃的例子也不少见——另外有时候为了能发挥新的bios的所有功能,重新安装系统也是不可避免的,这在我们的pc中安装的软件越来越多的情况下可不是一件轻松的事情。如果你的pc目前工作很正常,你即使更新了bios一般也不会看到系统性能有明显的提高——这时更新bios反而是一种无谓的冒险了。 更新bios之前的准备工作 因为本文的主题是指导你更新award bios,所以这一节我们谈谈更新bios的准备工作。而以award为例只是因为这是目前主板最常用的bios,所以最具有代表性。目前市场上销售的主板采用ami等其他品牌的bios也不少,但是更新操作都是大同小异。 在我们进行更新bios之前,首先强调几个需要注意的地方——请仔细阅读,它们对于你能否成功的更新bios至关重要。 首先你需要知道自己主板的生产厂商、型号、bios是否可以通过软件更新。这些情况一般你查阅主板说明书就能知道。(什么?你的主板说明书只有简单的一张纸?早就告诉过你不要买杂牌子主板,连说明书都没有心思写,还有心思在自己的产品上?)如果不幸你的说明书丢失或者是没有写明,你可以使用一个叫做bios-info的软件来查看(下载地址Ftp://ftp.heise.de/pub/ct/ctsi/ctbios13.zip">ftp://ftp.heise.de/pub/ct/ctsi/ctbios13.zip),它能显示你的主板厂商的信息以及现在的bios版本等信息,不过这个软件不是对所有主板都适用的。这时你可以试试如下的办法:当电脑启动的时候,还在自检内存的时候按下“pause”键,一般在屏幕的下方会有一行如下形式的信息 02/15/2000 - i440bx - ite867 - 2a69ks2ic - 00 倒数第二组字符串(本例中就是2a69ks2ic),前5个字符(2a69k)一般代表芯片的信息,接下来的两个(s2)是主板厂商代码,最后两个代表主板的型号(ic)。在本文的后面我将附上关于这些信息的详情。要确定bios芯片的型号,你解开贴在bios的的bios厂商的商标就能看到了。一般的award发布的awardflash工具支持所有的award芯片。 大部分的主板厂商一般都会提醒你注意以下几点,这样可以确保你能成功的更新bios: 如果你的系统处于超频状态,请先暂时恢复。 把bios设置中的所有具有“shadow”的功能屏蔽(也就是选择“disable”或者“off”)。因为ram的存取速度远远高于rom,许多pc生产厂商提供了把主板bios和显卡bios内容复制到ram中暂存,来实现对于bios信息的快速调用。往往这些储存在ram中的内容,会影响bios的更新。 关闭bios设置中所有有关电源管理的项目。 关闭系统bios缓存和显卡bios缓存。 如果你的主板有限制刷新bios的写保护跳线,请调节至允许更新的状态。参阅你的主板说明说就能简单的搞定这个问题。 SU ~Io?%"q&= A?|Vi[ 此文转贴于我的学习网电脑课堂硬件DIY http://www.Gzu521.com]SU ~Io?%"q&= A?|Vi 以上的事项只是对于你更新bios有影响,但是如果你更新成功之后最好再将他们复原,这样有利于提高系统性能。 |-page-| 如果你已经确认你的主板允许你用软件更新bios,并且按照我的建议做好的更新的bios的各种准备。另外你也应该在主板厂商的站点下载了bios升级文件(最后使用厂商网站提供的升级文件,特别不要使用来源不明的bios升级文件)——一般是以bin为后缀的文件,当然你也应该已经有了awardflash工具——如果没有可以到这里下载最新版本的awardflash。 awardflash支持两种操作模式:对话框模式和命令行模式。本文主要介绍命令行模式,因为实际使用过程中我们发现对话框模式并不必命令行模式简单多少。而通过命令行模式可以设定进行完全自动的bios更新。下面我们就一起来熟悉一下awardflash工具的一些属性。同其他的bios更新工具差不多,awardflash必须在纯dos模式下才能运行。 最近award也推出了转为为ms windows nt 4.0和ms Windows 2000设计的bios刷新工具award nt flash utility 1.00,另外像asus、gigabyte、msi还提供了在windows下更新bios的工具,不过目前能支持在windows下更新bios的芯片组只有intel 810和intel 820,即使你有在windows下更新bios的工具,如果你的主板并不支持这个功能,那么是无法使用这个诱人的功能的。这就是为什么我们本文仅仅介绍dos版的awardflash工具的原因,因为它具有代表性和普遍性。 在windows 9x系统下创建awardflash更新软盘的步骤如下:在windows刚刚启动的的开始,按下f8键,选择“safe mode command prompt only”,启动完毕之后,放一张软盘入软驱,格式化,然后用如下语句拷贝入必要的系统文件. 然后把awardflash工具和新的bios文档也复制到软盘上(这里我们把它们分别定为awdflash.exe和newbios.bin)。 然后在软盘上创建一个批处理文件autoexec.bat: 现在软盘中具有了如下必要的文件:awdflash.exe、newbios.bin、autoexec.bat和必要的系统文件(比如msdos.sys、io.sys和command.com)。初次之外软盘上不该有其他的文件。 |-page-| 当你第一次使用这张新创建的软盘时,将会把主板的bios更新为newbios.bin中的内容。而旧版本的bios将被以oldbios.bin存在软盘上,如果这时你重新启动pc,旧版本的bios将会被重新安装,换句话说新版的bios又被替换回来了。为了避免这样,请在重新启动系统的时候一定不要忘了把软盘从软驱中取出。如果重新启动更新了bios的pc的过程中你发现无法正常启动,那么再把刚才的那张软盘插入软驱,重新启动机器,一切都会复原。 上面的批处理文件中的awardflash工具的参数你可以根据自己的需要进行修改,但是出于绝对安全的目的,我们强烈建议你使用这些参数——特别是如果你没有十足的把握尽量不要修改这些参数。 为了帮助你了解这些复杂的参数,使你也能够根据自己的实际情况,定制适合自己情况的一套参数,我们把awardflash v7.70中的所有参数的意义进行逐一的详细解释,当然在学习这些参数的用法之前,你需要知道如下的语法:
·/?-帮助。如果你在使用awardflash工具遇到不明白的问题,可以通过使用这个参数来寻求帮助。当然看我们的这篇文章也是一样的^_^ ·/py或者/pn - 通过这两项让用户选择“是”(按键y)或者“否”(按键n)更新bios。当使用参数/pn你可以禁止flashrom被更新。这样你就可以就可以仅仅保存当前版本的bios或者得到校验值而更新bios。一般默认为/py模式。 ·/sy or /sn - 通过这两项让用户选择“是”(按键y)或者“否”(按键n)保存以前版本的bios。一般使用/py来选择保存旧版本的bios。在批处理文件中使用/sn参数可以自动进行bios更新而不必让用户进行选择。 ·/cc - 更新完bios之后清空cmos。一般的新的bios可能会有不同于原来的cmos设置,所以使用这个参数一般可以避免这样的情况下出现的意想不到的问题。当然你也可以不使用这个参数,在更新完毕后关上计算机,然后使用主板上清空cmos跳线来进行这项操作——不过既然一个简单的参数就能实现这个功能,为什么还那么麻烦呢? ·/cp - 代表在更新bios之后清空pnp (escd)数据阵列。一般的pnp设备的信息都储存在escd。/cp参数等同于重置cmos设置中的pnp/pci配置数据。这个参数当你安装了新的符合pnp规范的板卡时特别有意义。如果你步术升级escd,你的板卡可能在启动时会遇到一些问题。 ·/cd - 代表在更新bios之后清空dmi数据信息。单从字面上理解,dmi就是一个数据库,容纳着系统的所有信息。使用这个参数比前面提到的/cp和/cc参数更加有效,特别是在多个系统设备改变的情况下。 ·/sb - 表示不刷新bootblock。bootblock是启动时首先被定位的单元,一般不需要更改,除非主板制造商特别说明,一般不需要刷新bootblock。特别时当bios更新失败后,它是通过软件恢复bios的一点希望。在部分主板上有bootblock保护跳线。当保护起作用时,如果你没有使用/sb参数赖刷新bios,那么系统在刷新时很可能会出现错误。 ·/sd - 代表将dmi数据存为一个文件。 ·/r - 表示刷新后系统自动重新启动。这个参数在制作批处理文件时特别有用。 ·/tiny - 表示调用少量内存。当不使用这个参数的时候,awardflash工具会把所有的需要写入bios的文件都提前存放到内存中。如果你看到“insufficient memory”——内存不足的提示,那么使用这个参数或许能解决问题。使用这个参数,刷新程序将会一部分一部分的调用bios。 FB[n\x=6CAP)![本_文_来_源_于_我_的_学_习_网电脑课堂硬件DIY http://Www.GZU521.Com ]FB[n\x=6CAP)! ·/e - 表示刷新完bios之后返回dos。比如你需要确认一下以前的版本的bios是否被保存了。 ·/cks - 代表显示校验xxxxh文件。校验的结果将以16进制表示法显示。 ·/cksxxxx - 代表用xxxxh来对比校验。如果校验结果不同,你将看到如下信息:“the program file′s part number does not match with your system!”在主板厂商上的站点一般可以插到相应的xxxxh值。 所有的参数使用大小写输入均有效。
如果你在更新bios的过程中很顺利,没有出现任何意外,同时你也能顺利的启动你的系统,那么恭喜你,你成功了——其实一般情况下都能成功。但是也有些不走运的“先烈”在这个过程中备受煎熬,不过它们的经验和教训也给了我们很多启迪,特别是如果你更新失败了,用处会更大。
如果之前你首先对于主板原来的bios进行了备份,那么下面的事情就简单多了,你使用软盘上的awardflash程序继续更新,首先把主板的bios还原。如果出现上面情况都是因为更新了新版的bios的缘故,那么你仍然使用你备份的bios即可。如果你并不是新版bios的原因,而是因为停电等其他原因,那么你可以继续把bios升级为更新的版本——这时只要把软盘上的oldbios.bin删除,然后再使用这张软盘启动一次系统,所有的工作就结束了。 以上介绍了当处于“更糟糕”情况时的比较“好”的一种情况下的解决办法(这么说话够咬嘴的),如果你的运气是在是糟透了,碰到了最最坏的一种情况,这个时候系统根本无法从软驱启动了,那么请试着使用一个独立的isa mio控制器连接软驱。这样软驱就能被初始化,然后你就可以恢复bios了——这是使用软件解决这类问题的最后的方法了——不过这个isa mio控制器是个比isa显卡还要难找的东东:( 鉴于bios具有如此重要的地位,为了方便用户使用和解决类似的问题,许多厂家研发了许多新技术来尽可能的防止这个问题发生或者使得即使发生了此类“灾难”也能方便的解决。比如,部分intel主板具有一个特殊的跳线叫做“flash recovery”——顾名思义,就是恢复flashrom的。当设定为恢复模式,你就可以从bootblock启动——即使你遇到最最差的情况。当解决问题后,不要忘了把跳线复位,不然你还是只能通过bootblock来启动。另外,gigabyte专利的dualbios技术也是一个很好的解决方案,使用dualbios技术的主板装备了两个rom芯片,如果其中一个损坏了,那么系统会自动从第二个bios启动。同dualbios技术类似的还有chaintech推出的“twinbios”等等其他厂商推出的类似的技术。 不过不是所有的主板都采取了类似的技术来防止bios遭受破坏,因为这样做往往会增加成本,使得自己产品因为价格因素而缺乏竞争力。 看过了上面的文章,如果你用尽了所有的软件方法恢复bios均告失败,那么请看下一节内容,利用硬件方法恢复bios。 最后的努力 在没有专业的设备的情况下,“热插拔法”-这种方法就是你唯一的选择了,虽然危险性比较大,但是却不失为死马当活马医起死回生术。如果你要进行这项操作,需要进行如下的准备: 1.任何能正常工作的主板当然是使用award bios的主板2.一张我们前面制作的软盘,不但包括award flash工具,还要包括两种bios文件——一个文件是bios被损坏的主板的bios文件,一个是可以正常工作的主板的bios文件3.两个插接面板(例如slc-32—32针孔的可以插上flash rom的面板)4.一个flash rom芯片(例如atmel 29c020 dip 32)5.两个电阻(10k欧姆,0.125w); 6.一个两位dip开关7.电烙铁 为了下面叙述简单,我们称被损坏的bios是“老bios”和能正常工作的bios是“新bios”。 首先你需要使用前面的材料制作一个简易的装置ic-flasher,用来帮助你恢复bios。请看下面的示意图,这个装置由两块插接板(upper panel-x1、lower panel-x2)、一片flash rom芯片(u1)、两个电阻(r1、r2)和一个切换开关(sw1)组成。:
ic-flasher装配示意图
u1芯片的除了“chip enable”其余的针脚都焊接到下面的x2面板上,上面的x1面板除了“chip enable”针脚,其余的都焊接到下面的u1芯片上,x1、x2的“chip enable”针脚分别通过电阻r1、r2连接到切换开关的2、3处,而u1芯片的“chip enable”针脚连接到切换开关的1处。这样ic-flasher就制作好了,可以用它来拯救你“昏迷不醒”的主板了。 第一步,把“新bios”从主板上拔下,插上ic-flasher。然后sw1开关播到2-3之间。这里需要强调的是这一步操作之前一定关闭计算机并且切断电源,否则可能会损坏主板或者造成人身伤害。 第二步,把“新bios”芯片插到x1上,然后从我们前面教你制作的软盘启动pc。这里需要强调的是不要使用autoexec.bat来运行awardflash,请手动进行。只要把autoexec.bat改名即可。 第三步,这时已经启动了pc,然后把sw1开关切换到1-2位置,开始进行bios的更新操作。使用新bios的文件把u1芯片更新为一片“新bios”,这样你就可以使用u1芯片启动“新主板”了。 第四步,上一步操作成功之后,关闭计算机并且切断电源,把x1上的“新bios”拔下,把“老bios”——也就是损坏的bios芯片插上。当然这时sw1切换开关依然保留在1-2的位置上。 最后一步,使用刚才的软盘启动计算机,然后把sw1切换开关播到2-3的位置上,然后更新为“老bios”。然后关闭计算机机电源,把ic-flasher拔下来,把“新bios”芯片重新插在原来的主板上。然后把复原好的“老bios”再插在你自己那张饱受磨难的主板上,你会发现你的主板起死回生了。ic-flasher请好好保留,如果你的周围有谁也这么不顺利,那么恭喜!——你大显神威的机会来了:p 如果你需要更新bios,那么你首先需要知道主板的生产厂商才能找到正确的bios版本。好在award和ami为每个主板生产厂商都发放了一个唯一的bios id,来为不同的厂商及其主板辨别身份。不过phoenix bios并没有这种识别码。 一般的ami或者award bios的id号码在计算机启动内存检测的时候,显示在屏幕的下方。这时你按下pause键,可以让启动进程停止,这样你就可以记下biosid号码,bios日期和版本——记住一定不要记错。 'cy2zkZDwB{EI*k [此资料转贴于学习网电脑课堂硬件DIY ]http://www.Gzu521.Com'cy2zkZDwB{EI*k 当然你可以利用软件来检测award/ami bios的id号码和生产厂商,比如ctbios v 1.5。运行这个软件,它就能告诉你bios的id号码,以及可能的生产厂商。如果你想知道你的芯片组的名称请下载ctpci330.zip。 如果你使用的是ami bios,那么你可以试试amibios motherboard id utility (这个程序是由ami编写的) 下面就是我收集整理的不同主板厂商的id识别号码、主板芯片组识别码等信息,并且将它们整理成表格,你可以使用浏览器的当前页查找功能来查找,不过本人不对这些资料的正确性负责,如果你是根据这个资料来更新bios——发生版本错误的情况,我只能说抱歉。 芯片组识别码: 就像前面我们在例子中列举的一样,下表列出的就是前5位字符所代表的主板所采用的芯片组型号。注意以2开头的芯片组代码表示bios核心版本是4.50或者4.51;如果以3开头,那么bios核心的版本是4.60;如果bios版本号码以6开头,那么核心版本是v6.00。 |
责任编辑:gzu521