[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Weird Linux problem
On Wed, 11 Feb 1998, Moshe Davis wrote:
>
> > >
> > > The physical CHS is 6256/16/63, but it is reported as a "logical"
> > > geometry of 782/128/63. See /usr/src/Linux-2.0/Document/ide.txt
> > > where it is stated that kernels 1.1.39 and higher "shift" two bits
> > > from the cylinder# field to the head# field automatically in order
> > > to avoid the INT13 BIOS limitation of 1024 cylinders. (LILO uses the
> > > INT13 interface to load the kernel at boot.)
> > > Could be that your BIOS doesn't support this kind of drive
> > > translation. Or maybe try reinstalling the kernel. The above
> > > mentioned document lists other solutions also.
> >
> > Come on, Phoenix BIOS for an Atlanta Pentium II board really knows
> > how to detect drives.
> >
>
> I didn't mean to insult your BIOS :^)
>
> Actually, from what you said that the geometry appears as:
> > hda: QUANTUM FIREBALL ST3.2A, 3079MB w/81kB Cache, CHS=782/128/63
> > hdc: QUANTUM FIREBALL ST3.2A, 3079MB w/81kB Cache, CHS=6256/16/63
> the BIOS couldn't be the problem, as the shift translation appears in
> hda. I would try specifying the geometry explicitly in
> /etc/lilo.conf for hdb. Something like:
> disk=/dev/hdb
> bios=0x81
> sectors=63
> heads=128
> cylinders=782
> Again, see the LILO guide for details.
>
> > > I have a second HD (Seagate 1.6G) with three DOS6.22 partitions (was
> > > once 1st HD). This HD is now hdb. I wanted to also be able to boot
> > > this drive from LILO by adding to /etc/lilo.conf :
> > > other=/dev/hdb1
> > > label=dos
> > > loader=/boot/any_d.b
> > > table=/dev/hdb
> > > and updating /sbin/lilo . But when I try to boot dos through LILO,
> > > I get the friendly message:
> >
> > I thought DOS can't boot and operate unless it boots from the 1st
> > partition of the primary master drive, am I wrong ?
>
> LILO can boot non-linux operating systems (including MSDOS) from hdb.
> The loader any_d.b tricks DOS into thinking that the first and second
> hard drives are switched (that D: is C: and that C: is D:).
>
> I just reread the fine print in the LILO guide, and lo and behold -
> it says that any_d.b installs a resident driver (in the MBR on hdb?)
> which will only work if the OS on hdb uses *only the BIOS to access
> that disk* !!! OK, there's the source of my present problem! I
The driver is a DOS device driver, and it is installed in RAM, where the
other device drivers are. If you boot from this kind of DOS to Linux
later, using loadlin, then you will do lots of damage to your system.
> wonder if there is a workaround, given that I've got this EZ-Drive
> disk controller installed in hda.
>
> Any other suggestions how to boot MSDOS from hbd?
The problem stems from the conflict between the EZ and LILO, which both
install a fake DOS driver into the RAM (actually it becomes a BIOS
extension during boot). When you boot from EZ->LILO, EZ already does this
once, then LILO does it again. Thus hdb->hda->hdb. DOS tries to find
ibmbio.sys etc on hda where it is not. (This should boot L95 actually, but
it does not - probably because of the way the DOS boot sector works. It
can only find the relevant files if it was installed together with them).
Choose one of the boot managers, and get rid of the other.
hope this helps,
Peter