Subject: Re: disks/install again
To: Phil Nelson <>
From: Todd Whitesel <>
List: tech-install
Date: 09/30/1998 19:44:50
>   wd0 8063MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 16514064 sectors
>   wd0 9641MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 19746720 sectors
> This is the first time I have seen an IDE disk have a return where
> cyl*head*sec != sectors.  I presume this is something sysinst may
> need to deal with.  (And possibly other places also.)

Yeah, apparently there is a 14K limit on the number of cylinders in IDE
reported geometries. If the cylinder count is 16383 then you have to just
recompute it from (total_sectors / (reported_heads * reported_sectors)).

Probably we should do this fixup when the disk is probed, and not let anyone
else see the bogus maxed-out cylinder count. Then sysinst and other userland
programs would not have to think about it.

(I very much doubt we'll ever use that cylinder figure with a BIOS; other
than "classic" 1024-cylinder BIOS calls and "extended int 13" LBA calls,
are there any other block addressing schemes that have to be dealt with for
booting from PC hard drives?)

Todd Whitesel
toddpw @