Linux partition labels considered harmful

Most Unix systems, and Linux being one of them, use a configuration file called fstab to specify where the various disk drives are to appear on the system. Here’s an excerpt from one of mine:

 /dev/hda7     /             ext3    defaults        1 1
 /dev/hda1     /boot         ext3    defaults        1 2

The first column specifies the device name. In this case, /dev/hda is the first hard disk, and it has (amongst others) partitions 1 and 7.

More recently, however, it has been possible to label partitions. So instead
of the above, you might have:

 LABEL=/       /             ext3    defaults        1 1
 LABEL=BOOT    /boot         ext3    defaults        1 2

This seems like a good idea until you have to add in a hard drive, as I did recently. If both drives use the ‘LABEL=BOOT’ syntax, the system gets confused as to which drive to boot from, and hangs.

I’ve changed all my systems back to use the older, more cryptic ‘/dev/hd??’ method. I don’t intend to swap drives in and out, but at least this way, I’m ready if I have to.