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
.
Below a rather detailed description of all relevant details. Note that I used kernel version 2.0.8 source as a reference. Other versions may differ a bit.