Problem:
Im Zuge der Vereinheitlichung der Devices unter Linux sind einige Distributionen (z.B. Ubuntu und Debian) bereits dazu übergegangen z.B. die Festplatten alle unter /dev/sd*
zu führen.
Dies hat natürlich einige Vorteile aber auch ein paar technische Nachteile:
- Es ist nicht sofort ersichtlich, um was für eine Festplatte (IDE, SATA, SCSI) es sich handelt.
- Die Reihenfolge kann sich bei Vermischung verschiedener Typen beim Booten verändern.
Diskussion:
Um konkretere Daten zu erhalten kann man immer noch qparted
oder vol_id
nutzen.
Nur leider nutzten dies nicht alle Programme.
Z.B. behauptet VWware beharrlich, dass eine IDE-Platte unter /dev/sdc
eine SCSI-Platte sei und es lässt sich kein Gast darauf installieren.
Problemantischer wird es mit den Änderungen während dem Boot-Vorgangs. Sowohl in Grub als auch in der fstab
ist man gewohnt das konkrete Device zu benennen. Wenn man aber sich nicht mehr sicher ist, in welcher Reihenfolge die Platte durchnummeriert werden, steht man vor einem Problem.
Lösung:
Das Boot-Problem umschiffen wir indem wir statt den Device die UUID des Gerätes angeben. Diese ändert sich nämlich nicht.
Dazu müssen wir erstmal die UUID ermitteln:
vol_id /dev/sda1 #oder ls -la /dev/disk/by-uuid/
Beide Methoden führen zum Ziel. Diese UUID verwendet man am besten per Copy&Paste, in den folgenden zwei Dateien:
/boot/grub/menu.lst
#vorher stand irgendwo: root=/dev/sda1 #umändern in folgenden Code: root=UUID=ab1b490f-abba-43c0-83ea-fa1acd95a6da
/etc/fstab
#vorher z.B. sowas: /dev/sda1 / ext3 defaults,errors=remount-ro 0 1 #nun mit UUID: UUID=ab1b490f-abba-43c0-83ea-fa1acd95a6da / ext3 defaults,errors=remount-ro 0 1
Abwandlung:
Labels sind leichter zu lesen und User-freundlicher. Sie lassen sich aber nicht immer im Nachhinein (z.B. im laufenden Betrieb) setzten oder ändern.
#setzte Label "Platte1" xfs_admin -L Platte1 /dev/hda1 #Verwendung des Label findfs LABEL=Platte1