845GVSR 主板起死回生记

来源:互联网 发布:印度有那些先进 知乎 编辑:程序博客网 时间:2024/04/29 10:19

    最近我的那 845GVSR 主板的台式机老是死机,这天竟然一死了就起不来了。我那些没做完的作业还放在里面,过两天就要交了。它坏得还真是时候啊。插上主板诊断卡,启动时卡上的数字总是在 E9 到 EF 之间循环。重起了若干次都是这样。而且这 845GVSR 的主板把什么都集成在上面了,板上除了插有 CPU 和内存之外什么也没有了。没办法了,只能拿去给专业人士修修看。

    拿到修理店,店里的师傅也是拿出个主板诊断卡来试验,卡上显示的数字和我刚才的一样。几分钟后他就告诉我,可能是主板的内存部分的电路有问题,有80%的几率修好。我想应该也不会是什么大问题,就放心的交给了他。

    一天后,那个师傅打电话来给我,告诉我那块主板的北桥坏了,没法修。听了他的话,差点把我吓死:不会吧,好好的北桥竟然会坏了?唉,只能先去把主板拿回来了。

    我就不信我那么倒霉,自己修修看吧。

    插上主板诊断卡,仔细观察上面的数字。最后,数字总是在 E9 到 EF 之间循环。但是说明书上说,Ex 的代码是没有意义的。不会是北桥真的坏了吧。把内存拔出来,再上电。会听到 BIOS 因为找不到内存而响两声。北桥是“负责与CPU的联系并控制内存、AGP、PCI数据在北桥内部传输”(注1)。这样的话,北桥坏了的话,应该无论有没有内存条插在主板上面,主板的反应都一样的吧(本人不是搞硬件的,所以可能某些想法有误)。这是不是说明北桥可能没有坏呢?

    我这块主板是 Intel 原装的那一种。诊断卡上显示的数字总是在 E9 到 EF 之间循环,可能这些数字在 Intel 的原装板上有特殊的含意。在 Baidu.com 上找了半天也没发现 845 的 BIOS POST 代码有什么特殊含意。最后用 google 找到一个外国网站(注2),上面说 Intel 的主板的 POST 确实在特殊含意。但是这网站上面没有我的 845 主板的说明,但我想 Intel 应该会在他的多代主板上继承这个传统吧。

Boot Block recovery Code Check Points:

E0 Onboard diskette controller (if any) is initialized. Compressed recovery code is uncompressed at F000:0000 in shadow RAM. Give control to recovery code at F000 in shadow RAM. Initialize interrupt vector tables, system timer, DMA controller, and interrupt controller E8 Initialize extra (Intel recovery) module E9 Initialize diskette drive EA Try to boot from diskette. If reading of boot sector is successful, give control to boot sector code EB Boot from diskette failed; look for ATAPI (LS-120, Zip) devices EC Try to boot from ATAPI device. If reading of boot sector is successful, give control to boot sector code EF Boot from diskette and ATAPI device failed. Give two beeps. Retry the booting procedure (go to checkpoint E9)

    从上面来看,E0 到 EF 这个过程是 BIOS 发现自身代码受损无法正常的启动而进行自救操作。这大概是给让在刷 BIOS 失败时能够还原而设计的吧。从上面的 POST 码来看,我的电脑也是在 E9 到 EF 的时候寻找看看有没有还原 BIOS 的条件。看来我的电脑还是有救的。

    于是我借来了一个软驱(这年头要找个软驱还真是辛苦啊)。从 Intel 的网站上下载了 BIOS 的升级文件(注3)。下载下来的升级程序有两种,一种是直接是压缩包的,另一种是一个可执行文件。插入软盘后运行那个可执行文件,它就会在软盘上生成一个 FreeDOS 的操作系统,并且把升级用的程序复制进去。但实际上,Intel 的这个程序生成的可引导软盘在我的机了上跟本就引导不了。我还是自己去下载了 Win98 的 DOS 启动盘,自己来配置才行。

    找来一张 DOS 的启动盘(网上有很多这样的 IMG 文件可以下载)。里面只需要保留 COMMAND.COM 、 IO.SYS 、MSDOS.SYS 就行了。然后,把从 Intel 网站那里下载下来的那个压缩包里面的文件都放进软盘里面,有如下文件:

BIOS.REC
DRVSPACE.BIN
IFLASH.EXE
LOGODATA.USR
P20-0056.BI1
P20-0056.BI2
P20-0056.BI3
P20-0056.BI4
P20-0056.BI5
P20-0056.BI6
P20-0056.BIO
P20-0056.ITK
P20-0056.SIG
TOKEN

    然后自己建一个 autoexec.bat 文件,进而写:

iflash.exe /pf p20-0056.bio

    这样,刷 BIOS 用的软盘就做好了。把软盘插进去,启动电脑,几十秒后机器就会读软盘,当执行 iflash.exe 程序刷新 BIOS 时会有比较长的一段等待时间,成功的话会发出几声“滴”响。整个过程序屏幕和键盘等设备都没有任何的反应,只有软驱和光驱会动。刷新成功后,重新开闭电源,终于又看到那个 Intel 主板的启动画面了。

 

注1:http://www.beareyes.com.cn/2/lib/200201/27/20020127014.htm

注2:http://bioscentral.com/intel/d815eeabios.htm

注3:http://downloadfinder.intel.com/scripts-df-external/filter_results.aspx?strTypes=all&ProductID=1065&OSFullName=All+Operating+Systems&lang=eng&strOSs=All&submit=Go%21#BIO

原创粉丝点击