Ich habe nun schon mehrmals das Problem gehabt wenn ich eine USB Platte oder einfach eine interne Festplatte zusätzlich anschliesse, dass Linux die Plattenbezeichnungen (/dev/sda /dev/sdb usw) umwürfelt. Das gibt beim booten immer einen bösen Kernel-Panic da es das rootFS nicht mounten kann. Nun hab ich das Problem noch öfter, da ich eine Externe Festplatte per eSATA angeschlossen habe und diese sich nun kunterbunt mit den anderen vermischt. Nun habe ich die Lösung endlich mal bei mir eingebaut. Der Trick ist einfach: Die Festplatten werden nicht mehr über /dev/sdX sondern über /dev/disk/by-id/$PLATTE-$PARTITION angesprochen.

also meine /etc/fstab hier:

#
# /etc/fstab: static file system information
#
#
none       /dev/pts       devpts    defaults               0      0
none       /dev/shm       tmpfs     defaults               0      0
none       /proc/bus/usb  usbfs     defaults,devmode=666   0      0
/dev/cdrom /media/cdrom   auto      ro,user,noauto,unhide  0      0
/dev/dvd   /media/dvd     auto      ro,user,noauto,unhide  0      0
/dev/fd0   /media/fd0     auto      user,noauto            0      0
# die alten Eintraege
#/dev/sdb6 swap           swap      defaults               0      0
#/dev/sdb7 /              ext3      defaults               0      1
#/dev/sdb8 /home          ext3      defaults               0      1

#die neuen Eintraege
/dev/disk/by-id/ata-SAMSUNG_SP1614C_0915J1FX525483-part6   swap   swap   defaults 0 0
/dev/disk/by-id/ata-SAMSUNG_SP1614C_0915J1FX525483-part7   /      ext3   defaults 0 1
/dev/disk/by-id/ata-SAMSUNG_SP1614C_0915J1FX525483-part8   /home  ext3   defaults 0 1

So kommt Linux beim booten auf jedenfall auf die richtige Platte. Damit das mit Grub auch schön funktioniert wendet man dort den selben trick an (/boot/grub/menu.lst):

# (0) Arch Linux
title  Arch Linux by-id
root   (hd0,6)
kernel /boot/vmlinuz26 root=/dev/disk/by-id/ata-SAMSUNG_SP1614C_0915J1FX525483-part7 ro
initrd /boot/kernel26.img

An die Festplattenbezeichnung kommt man ganz einfach per:

ls -lah /dev/disk/by-id/

Ubuntu macht das glaube ich alles mit der UUID der Festplatte. Muesste ich mal genauer nachlesen. So tut es aber.