resetting HDD BIOS

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I've been stumped about a method to clear the BIOS on
my HDD to the correct setting.
I don't know how it happened, but somehow my WD800
drive tries to boot, and clatters, then ID's as a WD600
and of course that stops the bootup.
I switched the HDD into another system, and the mis-ID
remains the same. Something has gone awry in the BIOS.
Looking at the jumper bus, I noticed a mysterious jumper
near the slave/master pins, called PM2. I'm wondering if
this is a programming mode, and maybe someone knows
if there is a program that initializes this drive as well.

In have nothing to lose at this point.
I'd appreciate some ideas.


Re: resetting HDD BIOS

les wrote:
Quoted text here. Click to load it

I understand that hard drives obtain some of their identity
information, from a storage area on one of the platters.
I've experienced a failure like yours, on a Maxtor. The
drive was a 40GB, and the BIOS would ID it as such,
with the proper Maxtor part number.

One day, I was booted into the OS, and the name of the
drive changed to what appeared to be the controller
board's development name, and the size was declared as
10GB. The drive had lost contact with the platters entirely,
so the identity it did have, was whatever was stored in
the controller firmware.

So the clattering you're hearing, could be an inability to
get to the special sector that has the size and geometry
information for the actual drive. Controller boards are used
on more than one model, so the controller board "discovers"
what it is controlling, by reading the platters.

This is the first jumper document that popped up in a search
of the site. PM2 stands for Power Management 2,
a mode where the drive doesn't spin up immediately at power up.
The BIOS has to do something, to start the power up sequence
on the drive. The drive would remain silent, if PM2 was
engaged (no clattering). The purpose of PM2, is to do things
like stagger spinup, so as to not overwhelm a power supply,
if a computer has 20 drives installed. It can also be used
on consumer devices (DVR with hard drive storage) with underpowered
outboard adapters, where perhaps two drives are installed, and
the power supply only has enough peak current to handle the
spinup of one drive.

You can play with that jumper if you want, just to see
if the response is different.


Re: resetting HDD BIOS

Paul wrote:

Quoted text here. Click to load it

There is no BIOS on the hard disk unit.  The [system] BIOS is stored in
EEPROM chips on the motherboard which gets copied into and used from a
CMOS table (and why the battery is needed to keep alive the CMOS table
when the system is powered off).  There is firmware code on the PCB
(printed circuit board) on the hard disk.  IDE (Integrated Drive
Electronics) from which ATA evolved (and now often referred to as
Parallel ATA, or PATA) is firmware that got put on the hard disk.  See .  You use the ATAPI command
set to retrieve info about the drive and control it.
page 6
3.1.62  VS (vendor specific): Bits, bytes, fields, and code values that
are reserved for vendor specific purposes.  These bits, bytes, fields,
and code values are not described in this standard, and implementations
may vary among vendors.  This term is also applied to levels of
functionality whose definition is left to the vendor.

There is mention of PM2 in that document which has something to do with
power-saving features, like when the drive goes into Standby mode (i.e.,
a power management mode of when it spins down).  Serial ATA (SATA) also
has its command set for interrogating the vendorID string.

The vendor ID string is obtained from the firmware on the PCB on the
hard disk, not from the platters (which obviously couldn't report the
vendor ID string until the platters were spun up to full speed).

If the PCB is damaged then the user needs to replace the device.

"WD800" is not a sufficient model string to identify WHICH model the OP
has.  They will have to visit and enter the *full*
model string to look at the online manual for that particular hard disk
to see what the jumpers are used for.  Only manipulate the jumpers and
pins that are described in the manual.  The others were set at the
factory and may not be documented.

I picked the WD800JB unit and found their jumper diagram at:

However, that doesn't mean the model that I picked is what the OP has.

Re: resetting HDD BIOS

VanguardLH wrote:
Quoted text here. Click to load it

So are you trying to confuse what I wrote or what ?

The motherboard has a BIOS chip, used to initialize the motherboard.

The hard drive has a processor and its own firmware, on the controller card.
But there is insufficient information in that firmware, to make the drive
fully functional. The size information is actually stored on the
platter. I've had one experience, where that was made quite apparent,
and I've found a web site that confirmed my suspicions.


Re: resetting HDD BIOS

Paul wrote:

Quoted text here. Click to load it

Part of my reply addressed your post.  Part addressed the OP's post,
like asking about "BIOS on my HDD" which is not correct.

Please explain how vendor ID info can be retrieved from a hard disk that
hasn't yet spun up or has spun down.  It is possible to put the device
in Standby mode (platters NOT spinning) and still issue the command to
query for the vendor ID string.  The vendor ID and other vendor-specific
bits are coded into the firmware on the PCB.

The OP said the vendor ID changed.  The OP never said that the *size* of
the device had changed.  A drive has raw capacity but no size until you
partition and format that partition.  ATAPI commands can query the
firmware to get the encoded values for that device regarding its CHS or
LBA limits to determine the maximum possible size for the drive but what
it seems you are talking about is reading the MBR (which is the first
sector in the first cylinder on the platters) to get at the partition
table to check the start and end sector values to determine the size of
a particular partition.  The OP didn't mention problems with disk or
partition size, just about the device getting identified differently
than before.

I'll give a concrete example.  Run msinfo32.exe and look under
Components -> Storage -> Drives.  A "drive" is a partition to which a
drive letter has been designated.  You'll see the sizes listed there for
"drives" which are the partitions for each and their size based on the
info that is obtained from the partition tables in the MBR (which is
recorded on the platter).  However, the vendor ID information along with
the geometric translation information is shown under Components ->
Storage -> Disks.  There the size is listed but it is obtained from the
bytes/sector * sectors/track * tracks/cylinder * cylinders.  This info
is encoded in the firmware to define the operational parameters of the
device, and not on the platters.  For example, the disk params for my
120GB hard disk (and nothing to do with partitions which are defined on
the platters in the 1st sector) are:

512 bytes/sector * 63 sectors/track * 255 tracks/cylinder * 14593
cylinders = 120,031,511,040 bytes (120GB or 111.8 GiB).

This doesn't mean this is how the platters are physically arranged but
merely the host-side parameters to define that device (e.g., what the
BIOS could use).  Alternatively, LBA reports 234,436,545 sectors, so
that times 512 bytes/sector gives the same 120,031,511,040 bytes.

The size for a *partition* is determined by the start and end values
defined for it in the MBR and that is on the platter (1st sector).
However, the vendor ID and device parms are in the firmware and
accessible via ATAPI commands.

Re: resetting HDD BIOS

VanguardLH wrote:
Quoted text here. Click to load it

I've already explained, that I have seen the information reported
by the drive change. My Maxtor 40GB changed from reporting
Maxtor <model number> to something like "Falcon", and the
size of the drive changed from 40GB to 10GB. Nothing was
accessible at that point. I was looking for information at
the device level. This happened a while ago, and I didn't keep
notes of all the details.

All I can tell you is, after that event, I got the impression that
the controller board itself, doesn't contain enough information
to enumerate the hardware properly. The platter has to be accessible,
in order for the thing to identify itself properly.

I believe the disk I had fail, failed in use, while the OS was running.

It isn't normal for drives to respond if they're broken, at least
for IDE drives.

Here is a web page, demonstrating what I've seen. I got the "false"
name at the time.


Re: resetting HDD BIOS

On Mon, 16 Feb 2009 14:13:51 -0500, Paul thoughfully wrote:

Quoted text here. Click to load it
Quoted text here. Click to load it

I beg to differ with you.  I received a bios update for my Seagate drive
that fixed some problem I had with that drive.   The OP should open a
ticket with WD to receive a firmware or bios update for his hard drive.

Re: resetting HDD BIOS

jaster wrote:
Quoted text here. Click to load it

Is there any chance, that a firmware update procedure, will compare the
ID of the firmware (WD800), to the ID currently coming from the drive (WD600) ?

How many commands is the drive answering right now ? Will it accept a
request to do a firmware update, while "clattering" ?

Perhaps running a WD diagnostic from the WD site, may give some
idea how responsive it is.

Sure. There are plenty of experiments waiting to be tried.
Including placing the drive in the freezer for a couple hours...


Re: resetting HDD BIOS

Paul wrote:
Quoted text here. Click to load it

I recommend a low-level format:

Re: resetting HDD BIOS

On Tue, 17 Feb 2009 16:19:54 -0500, Paul thoughfully wrote:

Quoted text here. Click to load it
Quoted text here. Click to load it

If I was you I'd backup that drive to other media or hd asap.

I think you should contact WD support, and if you haven't run the WD
diagnostics already I'd do so before contacting WD support.   Even if the
drive is out of warranty support is usually willing to help.  Especially
because the drive is clattering.  

If you're asking the newsgroup about issuing HD commands you shouldn't be
using those commands.  

Site Timeline