3

I'm fixing up a Gateway 2000 4DX-33 which came with a Fujitsu hard drive. The CMOS battery was dead after over 20 years without use, and needed to be replaced. This meant that all BIOS settings were reset.

Now I need to setup the hard drive, but the PhoenixBIOS does not have a hard drive type that specifies the right number of cylinders, size, heads, and sectors for the hard drive that came with the system.

When the battery died and reset the system, could this have reverted the BIOS to an earlier version that did not support the hard drive? How can I get the bios to detect the hard drive (as it once did)?

Hard drive: Fujitsu M1636TAU, 1.28 GB, 2490 cyl, 16 heads, 63 sectors.
BIOS: PhoenixBIOS A486 1.00.06.AC0
7

When the battery died and reset the system, could this have reverted the BIOS to an earlier version that did not support the hard drive?

No. BIOS is a motherboard firmware program which is usually written to a ROM, PROM, EPROM or EEPROM. It does not a working battery to maintain the information stored in this fixed memory.

It does store volatile information in a place which needs power. But the actual BIOS program is not changed when the battery runs out. Only its settings are lost.

How can I get the BIOS to detect the hard drive (as it once did)?

Assuming the drive still works (e.g. no oils inside it which have turned into thick sludge), then all you should need to do is to power up the computer, press the relevant hotkey to inter the BIOS setup (usually ESC or DEL and enter the correct values. For ancient drives (say 40MiB) you manually entered the relevant values (using drive type 47) or selected one of the predefined drive types. For anything over 200MiB the system usually could auto detect.

And with the huge (1.28GB) drive you mentioned auto detect is almost a certain fact. Go to the firmware (BIOS), make sure that you have the IDE controller enabled (boards from that age usually had two IDE controllers for up to 4 drives), page up and down until you find auto detect and things should just work.

If it does not, then check if the drive spins up. If not check power. Also make sure that you have the proper master slave settings, briefly:

  • For one drive, set to single.
  • For two drives set one drive to master, the other to slave.
    (Note that for some drives Master & single settings are identical.)
  • If you have a cable select cable then set the drive to cable select. This will turn the drive at the end of the cable into the master and a drive in the middle of the cable to slave.

Potential problems here:

  • If you had two drives and removed one, leaving master/slave in a wrong state.
  • If you move the drive to the middle of the cable on a CS cable.
  • And as previously stated, check that the drive still spins up. 20 years is a long time. It might very well either not spin or not be able to move its heads.


Edit: given the questions in the comments and the lack of markup them I am adding this:

Early PCs (80286 era, about 1983) had some preprogrammed information for a number of harddisks. In the BIOS you could set a disk to:

  • "not installed" (aka type 0),

  • or to one to the predefined ones. As shown below

    Write Landing
    Type Cyls Hds precomp Zone Capacity

    1 306 4 128 305 10M
    2 615 4 300 615 21M
    3 615 6 300 615 32M
    ...

  • Or to type 47: User inputted values

  • In addition to these types more modern computers (starting circa 80486 era) also had options called "auto" (for autodect) and LBA.


As for user input: Often a BIOS would limit the number which you could enter, even though the IDE standard supported bigger nummber. E.g. many motherboards had a BIOS which only allowed you to enter up to 16 heads. Since the size of a drive was defined by #heads * #tracks * #sectors_per_track this limited the maximum supported drive size.

If you are curious you can read more on that here, here2 or Google for it.

This means that you computer may not have worked with a drive larger than 504MiB (16 heads, 1024 tracks, 63 sectors/track). At the time there were three ways to work around that:

  1. Buy an IDE card with its own firmware (or buy a more modern motherboard).
  2. Use a small drive to boot from and let the OS discover the large drive after booting.
  3. Or install a custom overlay and let the disk appear differently, rewriting values as needed. Given the comment about an overlay I suspect that this is the case
| improve this answer | |
  • BIOS can often be updated. Which means updates can't be stored in ROM. I know the manufacturer at least updated it to 1.03. I'm assuming that the battery could affect these updates. – PC Luddite Jan 22 '17 at 23:15
  • The hard drive is also fine. I tested it on working systems already. – PC Luddite Jan 22 '17 at 23:16
  • 6
    The BIOS program is stored in some kind of ROM which does not need the battery. In the 486 era that was often en EPROM (Erasble by ultraviolet light) and on more modern systems and EEPROM (can be electrically deleted, but that takes an effort to do. It does not happen due to an empty battery. And if the [E][E]PROM would loose its informationt then the board would not POST. It would not revert to an earlier version. – Hennes Jan 23 '17 at 0:26
  • The Gateway 2000 already had its BIOS in Flash according to this article: books.google.de/… – tofro Jan 23 '17 at 9:06
  • 1
    Custom/user/type_47 was quite common. I have added those to the post. I also mentioned overlays though I avoided those as much as I could in my 386/486era (I booted from a 52MiB SCSI drive and has linux detect the IDE drives, which allowed much better handling than configuring them in the BIOS). Maybe someone else can expand on that. – Hennes Jan 23 '17 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.