EIDE Hard drives over 8 Gigabytes

Support knowledgebase (eide_ueber_8gb)
Applies to

SuSE Linux: All versions

Symptom:

When using a large (E)IDE Hard disk with capacities over 8 GB (Gigabytes):

  1. Linux cannot find the disk at all, or stops when detecting it.
  2. Linux "sees" the disk, but only will use the first 8GB, e.g. when running the partitioning program  fdisk.
  3. LILO is installed correctly under the 1024-cylinder boundary, but Linux does not boot.
  4. After the Linux install, the DOS partition preceeding Linux is corrupt.
  5. The installation aborts with strange error messages. The system reboots or the installation terminates.

Reason:

Many older BIOS versions are still in use which have limited ability to address larger disks. The maximum geometry of these BIOSes, measured in cylinders, heads, and sectors, is 1023/255/63. This equates to about 8GB.

Explanations of the symptoms, item by item:

  1. The BIOS is, most likely, too old and has difficulties beginning at the 4GB or 8GB boundary.
  2. and
  3. The Linux IDE driver gets its description of the hard drive geometry from the BIOS during system start. Even if Linux detects (or is given) the correct geometry during boot, these values are not necessarily used by fdisk or LILO.
  4. Since DOS only detects the first 8GB, its mapping (or concept of the disk geometry) is different from that which Linux must use. Therefore, the partitions can overlap.
  5. Large disks use the new, fast EIDE transfer modes. These place higher requirements on IDE controllers, cabling, and motherboard wiring than older disks.

Solution:

Again, issue by issue:

  1. Contact your motherboard manufacturer for a BIOS update which does not have difficulty with the 4GB or 8GB boundary.
  2. The workaround consists of giving the IDE driver the correct geometry by Kernel parameters at system start. This can be necessary even is Linux appears to detect correct geometry during boot.

    If you do not know the correct geometry for your hard drive, you can determine this using the SuSE Linux boot disk:

    Supply the correct geometry as kernel parameters, or enter them into the file /etc/lilo.conf. In addition, please note the example of correct syntax located below.
  3. Boot Linux from a diskette or CDROM and obtain the correct disk geometry as described in Solution 2, and add the values to /etc/lilo.conf. Then, you must run the lilo command again:
         root@erde > lilo
         
    With the next boot, LILO should be successfully started and should load the kernel successfully.
  4. To guard against this possibility, you should not install DOS and Linux on the same disk. If you have no choice, leaving significant space between the partitions may avoid the problem. You can use Linux fdisk to test whether partitions do overlap: the commands p and v will tell.
  5. Inspect your cables to verify that they are the correct length and free of damage and/or defects. Often shortening the cable can help.

Example of the correct Syntax

The following examples use the following representations for your specific situation. The IDE hard drive is represented as /dev/hdx, and the disk geometry values are represented as ccccc cylinders, hhh heads, and ss sectors.

Please substitute the correct values for your configuration.


See also:
o Linux on 1024 cylinder

Keywords: 8GB, EIDE, FIXED DISK, PARTITION, BIOS, LBA, HARDDISK, CONTROLLER, LILO

Categories: IDE

SDB-eide_ueber_8gb, Copyright SuSE Linux AG, Nürnberg, Germany - Version: 29. Dez 1998
SuSE Linux AG - Last generated: 24. Apr 2002 by sdb (sdb_gen 1.40.0)