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 <code>/dev/sd*code> 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 <code>qpartedcode> oder <code>vol_idcode> nutzen. Nur leider nutzten dies nicht alle Programme. Z.B. behauptet VWware beharrlich, dass eine IDE-Platte unter <code>/dev/sdccode> 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 <code>fstabcode> 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