[vox-tech] Large Hard Disks

vox-tech@lists.lugod.org vox-tech@lists.lugod.org
Sat, 31 Aug 2002 13:20:47 -0400


On Fri, Aug 30, 2002 at 01:45:41PM -0700, Jeff Newmiller wrote:
> Somehow I thought I was over all this "large hard disk" headache, but the
> CHS legacy lives on for those of us who try to put together yesterday's
> motherboard with today's hard disks,
[...]
> I bought a Seagate ST380020A 81GB hard disk for $79 ($85 total) from
> www.basoncomputer.com, and hooked it up as primary slave.  The BIOS hit
> the IDE drive inventory and hung checking that drive.

  I have seen a few BIOS's that can not handle large hard disk sizes.
The primary demo computer has this problem with 120 Gig disks when the
BIOS is asked to do a disk scan the BIOS screen locks hard and you have
to use the reset button to get out.  On the demo computer you can set the
drive to be "Auto" detected which does not lock the machine at bootup, 
however there are other BIOS's that I've set a non-booting hard drive to
to "None" or "Not present", because they crash with Auto when booting.
  My theory is the BIOS was doing a math calculation to print a pretty
message reporting how big the drive is, it overflowed the data type 
and the code doesn't handle the error gracefully.

> Proceeding on clues from the Large-Disk-Howto, I removed the stupidity
> jumper and entered the bios setup program and told the BIOS that the disk
> was not in LBA mode, but in "normal" mode, with a default 8GB geometry.  
> The bios check now runs ok, the size is wrong but doesn't hang, but Linux
> now sees the entire disk.  Apparently fixes introduced around 2.2.5 allow
> Linux to decipher the true state of affairs and ignore the bad information
> in the BIOS.  I would never have guessed that I would be better off with a
> CHS configuration rather than a LBA configuration in bios.

  Another tiny reason you may be better off with CHS than LBA on BIOSes
that support a Large number of cylinders, is cylinder 0 is used by the
master boot record and partition table.  When you do LBA style things
they generally try to keep the cylinder count as low as possible, so
often a single cylinder is about 8megs, but the MBR and partition table
only take 512 bytes.  So you get about 8 megs more disk space at the
beginning (often some more space at the end of the drive).  This is
especially handy on BIOSes that support the "lba32" extension which
allows lilo to boot cylinders above 1023.

    TTFN,
      Mike