Dave said:
It's pretty straight forward. Normally, I'd advise you NOT to, as it's
somewhat risky (can kill your mainboard!). But it sounds like at least one
of your BIOS chips might be hosed already, so I don't think you are risking
much by trying it. The only thing I would advise you to do is, back up ALL
important files to somewhere OUTSIDE this computer system (DVD media,
external hard drive, something like that) before you begin the BIOS flash
procedure.
Oh, and after you update the BIOS, you MUST clear CMOS settings (this is not
optional)
OK, another symptom seeming to suggest that one of your BIOS chips is bad,
or just has some bad CMOS settings stored there.
Don't think it's relevant, but it could be just another symptom of a bad
BIOS chip. -Dave
The main BIOS code is protected by a checksum. So if it was bad,
it would not be used. On a motherboard without a dual BIOS, a
bad main code block would cause the POST process to stop. The
board should not attempt to run using main BIOS code with a
bad checksum. In that case, a user could attempt a "boot block"
recovery, blind if necessary (video not working), to reflash the
main code block. The "boot block" code used to be detectable,
if an inserted floppy caused some floppy accesses - that would tell you the
boot block code was attempting to find something to recover
with.
In terms of safety precautions for flashing.
1) Do it from MSDOS. Many companies make Windows flashers available,
and the only issue with the approach, is if something happens to the
OS while the flash is running.
2) The most risky flash processes, are those which attempt to update
both the boot block and the main code block in the same update.
The intention of having a boot block, is that it never be changed.
Even a single BIOS design would have good reliability, if the
boot block was never erased. But many BIOS tools may update both of
them, even if it isn't needed. Some tools in the past, have offered
an option to control what exactly gets flashed (even including the
ability to flash DMI or ESCD or not, clear CMOS, under user control).
The flasher my current motherboard uses, offers no options at all.
If the manufacturer changes both, it can be for good technical reasons,
but erasing the boot block is when the board can be bricked (because
then there is no opportunity to recover it).
3) If your floppy isn't big enough, you can use a USB flash stick to
boot MSDOS. It is possible to emulate a "2.88MB floppy" for example,
which may leave enough space to do the job. Since my C: drive is FAT32,
when I did my latest flash, I had both the BIOS file and the flashing tools
stored on C: (I stored the files there, before booting MSDOS). If
you had an NTFS main partition, then you'd need an NTFS
for DOS capability (which exists apparently, for partitions under
137GB in size - my DOS floppy doesn't have one).
4) All that stuff aside, another safety precaution, is to backup the
current BIOS image. Since my motherboard flasher did not support that,
I had to use a tool from another company (worked fine). The BIOS may be
by Award or AMI for example, and they'd use different flashers. If one
company's AMI flasher (say Asrock) is "brain dead", it is possible the
backup could be made with another company's tool (say Asus). The purpose
of the backup, is if you notice the flash attempt did not go well, you
could try flashing back the original code. But once you decide to push
the reset button, then something has to be working, or the system will
be "bricked". (Assuming the flash erased the boot block.)
If the system is unstable (crashes within a couple minutes), then you
run the risk that the flash attempt could be interrupted by a crash.
Similarly, if the memory error rate measured in memtest86+ or by using
Prime95 in Windows, is high, then flashing under those conditions
would be dangerous.
To recovery from a bad flash, the first thing you want to check for,
is socketed BIOS chip(s). That makes it easy to contact badflash.com
and get them to flash a replacement chip for you.
Flash chips used to be in DIP (dual in line) packages, or the square PLCC
package. Many of those were socketed for easy maintenance. But now there
are boards with SPI (serial interface type) flash chips, in a small 8 pin
DIP. Those all seem to be soldered to the motherboard, which makes home
recovery difficult at best (soldering iron or the purchase of a $150.00
SPI flasher). The engineers could have socketed those chips if they wanted,
just like the PLCC ones. So in terms of risk mitigation, inspecting for
socketed flash chips, means you have options other than a warranty return,
later.
I've read, that the Gigabyte "Dual BIOS" design, is not a true dual
BIOS. It consists of one boot block and two main code blocks. So in
some ways, this is no more reliable than a motherboard with a single
BIOS chip. I have run into Gigabyte users, who have bricked their
"dual BIOS" boards, after a single flash attempt. If Gigabyte ever
needs or chooses to update the single boot block, then the board
will brick just as easy as on a single chip motherboard.
At work, we did a design with a true dual BIOS, where a third (hard logic)
chip manages the two BIOS chips. One of the test cases we run for that
hardware, is to pull the power plug on the system, while a BIOS
flash is running. The system has to be robust enough, that it
still boots, even though one BIOS chip is erased. So it is
possible to do a good implementation of dual BIOS, but requires a little
extra outboard logic. The systems in question are "cost is no object"
systems, so it doesn't matter how many chips are used. PC motherboards
are extremely cost sensitive (due to competition at retail, based on
price), so they have to be careful about everything that introduces
an extra penny of cost.
Paul