Question about old HDD

E

e.271828.p.31415

Hello!
I have a strange question about an old hard drive that I pulled out
of an old Pentium 1 computer. The hard drive was working fine, and
the computer was able to boot into Windows 95 fine.
Then I decided to run SpinRite6 to check if the hdd had any bad
sectors. SpinRite6 booted fine from a diskette and detected the
drive. Then it refused to do any kind of work from the drive and
claimed that the partition size was larger than the drive size
indicated in the computer bios.

The drive is a Western Digital caviar and its label indicates that it
has 2484 cyl; 16 heads; 63 sect; 1281.9 MB.

http://e.271828.p.31415.googlepages.com/s_IMG_2558.jpg

The computer auto-detected the drive as following: 2484; 16; 63; 1223
MB. This configuration was able to read the drive fine, but SpinRite
gives this:
http://e.271828.p.31415.googlepages.com/s_IMG_2558.jpg
http://e.271828.p.31415.googlepages.com/s_IMG_2561.jpg

Then I pulled the drive and stuck it in a newer Pentium 4 computer and
it detected it as follows: cyl :620; hds: 64; sectors: 63. Total
sectors 2502872
Spinrite ran fine.

When I stuck the drive back into the old computer I tried this
configuration and got 1221 MB.
http://e.271828.p.31415.googlepages.com/s_IMG_2560.jpg

The computer also booted up quite fine and made it into windows.
Spinrite still did not want to run on it and claims that only 619 cyl
are specified.
http://e.271828.p.31415.googlepages.com/s_IMG_2562.jpg
What is going on?

I have extensive experience with modern hardware, but this is my first
experience with such old hardware.

Can somebody please explain or clarify what is going on: How can the
harddrive be detected fine with 2 different configurations, which one
is the correct one, and why does Spin Rite read the drive on the newer
computer but refuses to read it on the old computer with either of the
2 configurations.


Thank you!
 
A

Arno Wagner

Previously said:
Hello!
I have a strange question about an old hard drive that I pulled out
of an old Pentium 1 computer. The hard drive was working fine, and
the computer was able to boot into Windows 95 fine.
Then I decided to run SpinRite6 to check if the hdd had any bad
sectors. SpinRite6 booted fine from a diskette and detected the
drive. Then it refused to do any kind of work from the drive and
claimed that the partition size was larger than the drive size
indicated in the computer bios.

SpoinRite is old and completely irrelevant for ATA disks.
Do not use it.
The drive is a Western Digital caviar and its label indicates that it
has 2484 cyl; 16 heads; 63 sect; 1281.9 MB.

The computer auto-detected the drive as following: 2484; 16; 63; 1223
MB. This configuration was able to read the drive fine, but SpinRite
gives this:
http://e.271828.p.31415.googlepages.com/s_IMG_2558.jpg
http://e.271828.p.31415.googlepages.com/s_IMG_2561.jpg
Then I pulled the drive and stuck it in a newer Pentium 4 computer and
it detected it as follows: cyl :620; hds: 64; sectors: 63. Total
sectors 2502872
Spinrite ran fine.
When I stuck the drive back into the old computer I tried this
configuration and got 1221 MB.
http://e.271828.p.31415.googlepages.com/s_IMG_2560.jpg
The computer also booted up quite fine and made it into windows.
Spinrite still did not want to run on it and claims that only 619 cyl
are specified.
http://e.271828.p.31415.googlepages.com/s_IMG_2562.jpg
What is going on?
I have extensive experience with modern hardware, but this is my first
experience with such old hardware.
Can somebody please explain or clarify what is going on: How can the
harddrive be detected fine with 2 different configurations, which one
is the correct one, and why does Spin Rite read the drive on the newer
computer but refuses to read it on the old computer with either of the
2 configurations.

Drive geometry is done by the BOS for ATA drives. It has no
relation to the real disk geometry. Different BIOSes may use different
CS translation. The way to deal with this is to use LBA mode.

That SpinRite does not deal with it is a limitation of SpinRite.
I advise to stop using it.

Arno
 
F

Folkert Rienstra

SpoinRite is old and completely irrelevant for ATA disks.
Do not use it.

Ignore the idiot babblebot.

That is the default translation as found in the drive's identification sector.

So now the question becomes: what CHS is used in the drive's MBR.
If that's the same as above than the bios isn't doing any translation
and forces the 620 : 64 : 63 CHS translation on the drive.
Drive geometry is done by the BOS for ATA drives.

Nonsense. It does it for any drive.
It has no relation to the real disk geometry.
Different BIOSes may use different CS translation.

Because you either tell it what to use or it makes a calculated guess
according to what it finds on the drive (default translation or MBR).
The way to deal with this is to use LBA mode.

Which is what the P4 does. CHS is not used so setting doesn't matter.
Apparently the P1 doesn't have Int13 extensions and has to deal with
CHS and the correct setting obviously matters there.
I'm betting that the drive was partitioned with the cyl 620; hds: 64;
sectors: 63 setting.
Apparently that is bigger than the drive is, according to the P1 BIOS.

Sounds like the P1 bios may be limited. You could try modifying the
cyl value in MBR and see if that satisfies SpinRite.
That SpinRite does not deal with it is a limitation of SpinRite.
I advise to stop using it.

Ignore the babblebot moron.
 
E

e.271828.p.31415

I am still not clear on how the hdd cam work with the 2 different
configurations. They give different numbers of total sectors...
 
F

Folkert Rienstra

I am still not clear

Maybe you should read again what you foolishly snipped.
on how the hdd cam work with the 2 different configurations.

What exactly did you not understand in using LBA instead of CHS.
They give different numbers of total sectors...

What exactly did you not understand in the word "limited"
and what the consequence of such a "limitation" might be.
 
A

Arno Wagner

Previously said:
I am still not clear on how the hdd cam work with the 2 different
configurations. They give different numbers of total sectors...

The configuration is not in the HDD. It is a "fiction" the BIOS
makes up from what the HDD tells it. The readon is that HDDs
can have much more cylinders/heads.sectors than old BIOSes could
handle. Ubnfortunately, before LBA there was no standard way to do
this translation.

Arno
 
F

Folkert Rienstra

The configuration is not in the HDD.

Yes it is, clueless Babblebot.
It is a "fiction" the BIOS makes up from what the HDD tells it.

See, it is.
The readon is that HDDs can have much more cylinders/heads.sectors

Cylinders, babblebot, cylinders.
than old BIOSes could handle.

The rea's'on is that HDs use different limits for C, H and S than bioses
do, P(CHS) and L(CHS). That's why they are called a translating bios.
Drives still have an unchanged 16-heads limit whereas the new bios was enhanced by setting the heads limit at 256.
Drives have an enhanced cylinder limit (65536) whereas the new bios
still has the old 1024 cylinder limit of the legacy bios.

The total limit for both of them is the same CxHxSx512 = ~8GB
Ubnfortunately, before LBA there was
no standard way

Yes there was, problem was there were two standard ways:
LBA(assist) and Large (or bitshift).
A good bios should be able to tell from the MBR CHS
-by checking against the rules for each- which one was used.
to do this translation.

Maybe because there is no translation in using LBA? Moron babblebot.

But even an Int13 extended (LBA) BIOS can use CHS for addressing a
drive and use a CHS of it's choice.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top