Pot 2 - Large Disk mini-HOWTO Andries Brouwer, aeb@cwi.nl...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
Large Disk mini-HOWTO Andries Brouwer, aeb@cwi.nl v1.0, 960626 All about disk geometry and the 1024 cylinder limit for disks. 1. The problem Suppose you have a disk with more than 1024 cylinders. Suppose moreover that you have an operating system that uses the BIOS. Then you have a problem, because the usual INT13 BIOS interface to disk I/O 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. 2. Booting When the system is booted, the BIOS reads sector 0 (known as the MBR - the Master Boot Record) from the first disk (or from floppy), and jumps to the code found there - usually some bootstrap loader. These small bootstrap programs found there typically have no own disk drivers and use BIOS services. This means that a Linux kernel can only be booted when it is entirely located within the first 1024 cylinders. This problem is very easily solved: make sure that the kernel (and perhaps other files used during bootup, such as LILO map files) are located on a partition that is entirely contained in the first 1024 cylinders of a disk that the BIOS can access - probably this means the first or second disk. Another point is that the boot loader and the BIOS must agree as to the disk geometry. It may help to give LILO the `linear' option. More details below. 3. Disk geometry and partitions If you have several operating systems on your disks, then each uses one or more disk partitions. A disagreement on where these partitions are may have catastrophic consequences.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
The MBR contains a partition table describing where the (primary) partitions are. There are 4 table entries, for 4 primary partitions, and each looks like struct partition { char active; /* 0x80: bootable, 0: not bootable */ char begin[3]; /* CHS for first sector */ char type; char end[3]; /* CHS for last sector */ int start; /* 32 bit sector number (counting from 0) */ int length; /* 32 bit number of sectors */ }; (where CHS stands for Cylinder/Head/Sector). Thus, this information is redundant: the location of a partition is
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 8

Pot 2 - Large Disk mini-HOWTO Andries Brouwer, aeb@cwi.nl...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online