LeRoy D. Cressy on Thu, 11 Mar 1999 10:25:06 -0500 (EST)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Bootmgr for large HDDs


Tim Krell wrote:
> 
> Anyone know of a freeware LILO-like bootmanager that will not choke on
> large harddrives (the 1024 cylinder thing) when installing LILO?  I have
> tried LILO and that will not even install, and have tried using
> PowerQuest BootMagic, but when I go to access my Linux partition, my
> system just stops responding, and does not boot into Linux.  I am
> running a 6.4 GB hdd.  Any input as to how I can solve this will be
> greatly appreciated, I really hate using bootdisks, they're such a pain
> in the butt.  MBR solution is MUCH easier.  Thanks.
> 
> -Tim
> 

Hi Tim,

there are a lot of problems with the 1024 cylinder thing.  A lot of
system Bios take care of this by reconfiguring the disk archecture for
you by using an algorithm that changes the number of tracks, cylinders,
and etc.  Thus when Lilo is run it thinks that there are fewer sectors
than 1024.  According to the documentation lilo reads the partition and
checks if the number of cylinders in a particular partition exceeds
1024.

This taken from /usr/doc/lilo/Manual.txt

BIOS restrictions
- - - - - - - - -

Nowadays, an increasing number of systems is equipped with comparably
large 
disks or even with multiple disks. At the time the disk interface of the 
standard PC BIOS has been designed (about 16 years ago), such 
configurations were apparently considered to be too unlikely to be worth 
supporting.

The most common BIOS restrictions that affect LILO are the limitation to 
two hard disks and the inability to access more than 1024 cylinders per 
disk. LILO can detect both conditions, but in order to work around the 
underlying problems, manual intervention is necessary.

The drive limit does not exist in every BIOS. Some modern motherboards
and 
disk controllers are equipped with a BIOS that supports more (typically 
four) disk drives. When attempting to access the third, fourth, etc.
drive, 
LILO prints a warning message but continues. Unless the BIOS really 
supports more than two drives, the system will _not_ be able to boot in 
that case.*

  *  However, if only "unimportant" parts of the system are located on
the 
    "high" drives, some functionality may be available.

The cylinder limit is a very common problem with IDE disks. There, the 
number of cylinders may already exceed 1024 if the drive has a capacity
of 
more than 504 MB. Many SCSI driver BIOSes present the disk geometry in a 
way that makes the limit occur near 1 GB. Modern disk controllers may
even 
push the limit up to about 8 GB. All cylinders beyond the 1024th are 
inaccessible for the BIOS. LILO detects this problem and aborts the 
installation (unless the LINEAR option is used, see section "Global 
options").

Note that large partitions that only partially extend into the
"forbidden 
zone" are still in jeopardy even if they appear to work at first,
because 
the file system does not know about the restrictions and may allocate
disk 
space from the area beyond the 1024th cylinder when installing new
kernels. 
LILO therefore prints a warning message but continues as long as no 
imminent danger exists.

There are four approaches of how such problems can be solved: 

  - use of a different partition which is on an accessible disk and
which 
    does not exceed the 1024 cylinder limit. If there is only a DOS 
    partition which fulfills all the criteria, that partition can be
used 
    to store the relevant files. (See section "/boot on a DOS
partition".) 
  - rearranging partitions and disks. This is typically a destructive 
    operation, so extra care should be taken to make good backups. 
  - if the system is running DOS or Windows 95, LOADLIN can be used
instead 
    of LILO. 
  - if all else fails, installation of a more capable BIOS, a different 
    controller or a different disk configuration. 

LILO depends on the BIOS to load the following items: 

  - /boot/boot.b 
  - /boot/map (created when running /sbin/lilo) 
  - all kernels 
  - the boot sectors of all other operating systems it boots 
  - the startup message, if one has been defined 

Normally, this implies that the Linux root file system should be in the 
"safe" area. However, it is already sufficient to put all kernels into 
/boot and to either mount a "good" partition on /boot or to let /boot be
a 
symbolic link pointing to or into such a partition.

See also /usr/src/linux/Documentation/ide.txt (or 
/usr/src/linux/drivers/block/README.ide in older kernels) for a detailed 
description of problems with large disks.



-- 
          0 0      L & R Associates
           "       Home Page:    http://www.netaxs.com/~ldc/
_______ooO ~ Ooo_______________________________________________

LeRoy D. Cressy     	 /\_/\		ldc@netaxs.com
Computer Consulting 	( o.o )		Phone (215) 535-4037
		 	 > ^ <		Fax   (215) 535-4285

--
To unsubscribe, send a message with the word 'unsubscribe' in the subject
or body of your message to plug-request@lists.nothinbut.net