Re: Hard disk problems
From: charles kaufman <chuck@grinder.acc.uri.edu>
Thanks for the hint. Of course I don't know whether it's a BIOS disk
geometry problem. In fact fdisk says the disk has 1027 cylinders.
^^^^^^
But it reports hda1 (dos) is 1 to 64, hda2 (linux) is 65 to 192,
and hda3(linux swap) is 193 to 205. That's beyond 512 MB but
well within 1024 cylinders.
Here is a quote from the Large-Disk HOWTO:
Suppose you have a disk with more than 1024 cylinders. Suppose
moreover that you have an operating system that uses the old INT13
BIOS interface to disk I/O. Then you have a problem, because this
interface uses a 10-bit field for the cylinder on which the I/O is
done, so that cylinders 1024 and past are inaccessible.
Fortunately, Linux does not use the BIOS, so there is no problem.
Well, except for two things:
(1) When you boot your system, Linux isn't running yet and cannot save
you from BIOS problems. This has some consequences for LILO and
similar boot loaders.
(2) It is necessary for all operating systems that use one disk to
agree on where the partitions are. In other words, if you use both
Linux and, say, DOS on one disk, then both must interpret the
partition table in the same way. This has some consequences for the
Linux kernel and for fdisk.
... and another possibly relevant piece:
Another point is that the boot loader and the BIOS must agree as to
the disk geometry. LILO asks the kernel for the geometry, but more
and more authors of disk drivers follow the bad habit of deriving a
geometry from the partition table, instead of telling LILO what the
BIOS will use. Thus, often the geometry supplied by the kernel is
worthless. In such cases it helps to give LILO the `linear' option.
The effect of this is that LILO does not need geometry information at
boot loader install time (it stores linear addresses in the maps) but
does the conversion of linear addresses at boot time. Why is this not
the default? Well, there is one disadvantage: with the `linear'
option, LILO no longer knows about cylinder numbers, and hence cannot
warn you when part of the kernel was stored above the 1024 cylinder
limit, and you may end up with a system that does not boot.
However lilo works fine and the kernel boots fine. The trouble only
comes late in the startup process, after the partition check-which gives
the results it should-when it insists on trying to mount / on 03:03
while lilo and rdev and fstab all (seem to) have been told that the
root device is hda2 not hda3.
Yes, but given that the kernel believes there is FAT12 partition, it seems
that there is something wrong with the partition table or at least the
reading thereof.
Is the low-level reformatting/repartitioning an option?
Kaa
_______________________________________________________________
Get Free Email and Do More On The Web. Visit http://www.msn.com
Reply to: