Hi again,
I've backed up, repartitioned and restored, and BTW I think I now
clearly
see where the error came from. I am surprised that not many people seem
to have made the same mistakes than I did, (though the problem might be
latent until far cylinders of the disk get allocated). It seems to be a
wide open trap with disks over 8.4 Gb. I will try to make it clear so
that it could avoid unnecessary troubles to linux newcomers.
The problem is that fdisk doesn't let you allocate more than 1024
cylinders / 256 heads / 64 sectors. This is the famous 8.4 Gb (24 bits)
limit (see http://www.linuxdoc.org/HOWTO/Large-Disk-HOWTO-4.html)
I used fdisk 2.8, the one coming with RedHat 5.2, and I don't know
however if more recent versions of fdisk overcome this, since the newer
one I downloaded lately said "segmentation fault" and exited...
When I installed my new 10 Gb hard disk one year ago, I entered fdisk
expert mode since it seemed to be the only way to go beyond 8.4 Gb. I
could then allocate the whole disk (and more as it turned out ;-).
Everything went OK, (except that 'fdisk -l' would complain, see
http://www.linuxdoc.org/FAQ/Linux-FAQ/x3357.html#AEN3548) until one day
allocation of the last sectors of the disk were attempted (see my
previous messages).
When I repartitionned yesterday I had read the following in
http://www.linuxdoc.org/HOWTO/Large-Disk-HOWTO-2.html
> For large IDE disks (over 8.4 GB): get a recent stable kernel (2.0.34 or later).
> Usually, all will be fine now, especially if you were wise enough not to ask the
> BIOS for disk translations like LBA and the like.
The problem is that you don't have to ASK for LBA and the like : they
are on by default on a new disk!
Actually I experienced that if I put LBA mode off in the setup (it had
been on by default, on both of my disks, IBM and Fujitsu) fdisk would
magically allow me to allocate space until the last of the 1232
cylinders, without having to enter expert mode.
The troubles were not over yet since after restoring the data, lilo
(installed on disk MBR) did not work any more (and linear option in
lilo.conf did not help, just changed "LI" into "L").
The trick to have it work again was just to put back LBA mode on the
setup!
Now everything is fine (I hope...) : no error and this time fdisk is
happy with the partitions it created.
Hope this will help someone.
Cheers,
Alexandre Oberlin wrote:
> I have a 10 Gbytes hard disk on which the last partition /dev/hda4 is
> mounted root on kernel 2.2.13.
>
> Lately I have been close to fill that partition and since then the
> following messages regularly get logged:
> May 23 02:08:56 localhost kernel: hda: read_intr: status=0x59 {
> DriveReady SeekComplete DataRequest Error }
> May 23 02:08:56 localhost kernel: hda: read_intr: error=0x04 {
> DriveStatusError }
> May 23 02:08:56 localhost kernel: end_request: I/O error, dev 03:04
> (hda), sector 12160946
> May 23 02:08:56 localhost kernel: hda: read_intr: status=0x59 {
> DriveReady SeekComplete DataRequest Error }
> May 23 02:08:56 localhost kernel: hda: read_intr: error=0x04 {
> DriveStatusError }
> May 23 02:08:56 localhost kernel: hda: read_intr: status=0x59 {
> DriveReady SeekComplete DataRequest Error }
> May 23 02:08:56 localhost kernel: hda: read_intr: error=0x04 {
> DriveStatusError }
> May 23 02:08:56 localhost kernel: ide0: reset: success
>
> I tried to boot on floppy and run e2fsck, but this didn't solve the
> problem. I got errors like "Attempt ... resulted in a short read" and if
> I answered No to "Ignore?" I was just sent back to the shell. I could
> fix some other errors and clean the file system however.
>
> I remember I fighted hard to partition the disk without losing space
> despite the 1024 cylinder boundary, but maybe I did something wrong.
> Now if I run "fdisk -l" I get for hda4:
> Disk /dev/hda: 255 heads, 63 sectors, 1232 cylinders
> Units = cylinders of 16065 * 512 bytes
>
> Device Boot Start End Blocks Id System
> /dev/hda1 * 1 457 3670821 b Win95 FAT32
> /dev/hda2 458 460 20664 83 Linux native
> Partition 2 does not end on cylinder boundary:
> phys=(1023, 15, 63) should be (1023, 254, 63)
> /dev/hda3 460 476 131544 82 Linux swap
> Partition 3 does not end on cylinder boundary:
> phys=(1023, 15, 63) should be (1023, 254, 63)
> /dev/hda4 476 1234 6080760 83 Linux native
> Partition 4 does not end on cylinder boundary:
> phys=(1023, 15, 63) should be (1023, 254, 63)
>
> I've read somewhere that cylinder boundaries did not mean a lot on
> modern disks, so I did not worry about that.
> I can still work, but I begin to be afraid to lose data.
> Any hint welcome...
>
--
Alexandre Oberlin
http://www.altern.org/ao
-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.linux-learn.org/faqs