A directory that most modern
linux distributions use to store
kernel images, and their associated files. Earlier distributions put kernel images in the
root directory ('/', not '/root'). The reason that /boot exists (aside from
tidiness), is the inability of older
x86 bioses to cope with large hard drives.
Most linux loaders (
LILO, for instance) depend on the bios for
hard disk access, and can only read data the bios can see. Older bioses often have problems reading data beyond the 1024th
cylinder, and even older bioses don't do
LBA translation, and can't read past 8.5Gb, sometimes not detecting the drive at all, or even hanging
1. Once the linux
kernel is loaded, it drives the
hard disk controller(s) directly, and is not subject to any of these limitations. The challenge is to get it loaded.
Putting the
kernel (and supporting files) in the /boot
directory allows it to be kept on a different
partition to the root directory, at the very front of the drive, where it will be readable even if the bios gets the
geometry of the drive wrong (or can't even see 90 percent of the drive).
A further issue is that there are two ways for
bootloaders to locate the kernel image: by storing the
physical address of the image on the hard disk (eg
LILO), or by navigating the filesystem on which the kernel is stored (eg
GRUB,
windows). The physical method will get tripped up if the kernel image moves, for instance if a new image is copied over (despite having the same filename), or the partition is
defragmented without the address being updated. The filesystem method will get tripped up by the filesystem becoming damaged, for instance in a crash (
ext2 is notoriously
fragile3). Locating /boot on a separate partition allows filesystem utilities to mess with the root partition without the risk of moving any kernel images, and prevents damage to the root
filesystem from rendering the kernel images unfindable (Random hard disk problems tend to affect areas of the disk being accessed; under normal use the /boot partition is accessed only at boot time).
1 - Most hard disks have an option marked 2.1Gb clip, which makes the drive return a capacity of only 2.1Gb (below most of the silly BIOS limits), in a geometry the BIOS will understand, to an older BIOS that doesn't do LBA. When the drive is addressed using LBA it reports its capacity as normal2
2 - Apart from some braindead fujitsu drives which seem to have missed the point, and report their capacity as 2.1Gb in LBA as well.
3 - ext2 is very easy to repair, but that's no help if you can't boot. (Ext3 journalling won't help either).