[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Benennung von Geräten: /dev/sda, /dev/sdb, ... (was Re: usb-Platte: sda oder uba?)



Hallo,

Michael Renner schrieb am 8.10.:
...
> Steckt jedoch zum Bootzeitpunkt ein 
> externes Speicherdevice 
... gemeint ist USB ...
> am Rechner wird das als /dev/sda eingebunden, der 
> Mount der Rootpartition geht entsprechend schief.
> Das Problem wäre aus der Welt, wenn der Rechner mit dem Kernel 2.6.18 /dev/uba 
> verwendet!

Die dynamische Vergabe von Gerätenamen kann nicht nur durch
USB-Geräte, sondern auch durch andere Hardware beeinflusst
werden (Festplatten-Schubladen-Systeme, Firewire-Platten,
Chipkarten-Lesegeräte usw.).

Das Gerät, auf dem sich das Betriebssystem befindet, kann also unter
Umständen mal /dev/sda oder /dev/sdb oder auch ganz anders heißen.

Es gibt zwei Methoden, um dieses Problem zu lösen:

 1. Die Verwendung eines Dateisystem-Namens ("LABEL", auch volumename)
 2. Die Verwendung einer eindeutigen Kennung (UUID) des Dateisystemes.

Ich persönlich finde die Verwendung von "LABEL" sprechender als
"UUID".  Aber das ist reine Geschmackssache.

Wenn beim Booten das Dateisystem anhand des Namens (LABEL) oder seiner
Kennung (UUID) gesucht wird, ist es egal, ob das "Wurzeldateisystem"
auf der Platte /dev/sda oder bei eingesteckten USB-Speichermedien
auf /dev/sdb oder vielleicht sogar erst auf /dev/sdc gefunden wird.

Die Debian-Variante Ubuntu-Linux benutzt z.B. von sich aus
die UUID in den Dateien /boot/grub/menu.lst und /etc/fstab.

Da auch RedHat LABEL schon vor Jahren so benutzt hat, sind diese
Mechanismen mindestens seit Kernel 2.4.x in der Praxis bewährt
und sicher.

Ein LABEL kann auch noch nachträglich geändert bzw. angebracht
werden.  Es gibt dazu verschiedene Dienstprogramme.  Je nachdem, ob
das Dateisystem ein etx2, ext3, ein Reiserfs oder wie auf meinem Notebook
ein xfs ist, geht das also z.B. so:

   tune2fs -L "MeinDebRoot" /dev/sdb1
   resiserfstune --label "MeinDebRoot" /dev/sdb1
   xfs_admin -L "MeinDebRoot" /dev/sdb1

Die maximale Länge des Namens ist dabei auf wenige Zeichen begrenzt!
(Bei xfs: bis zu 12, Bei ext3: bis zu 16, usw.)
Es ist klar, dass für obige Kommandos ein Rettungssystem (z.B. Knoppix)
von CD gebootet werden sollte, da diese Kommandos nicht auf einem
bereits mit 'mount' eingehängten Dateisystem benutzt werden sollten.

Auch vorher mit

   fdisk -l /dev/sdb 

überprüfen, ob auch das richtige Gerät angegeben wird.

Anschliessend müssen noch die /boot/grub/menu.lst und die /etc/fstab 
im Wurzeldateisystem auf der Festplatte editiert werden.
In /boot/grub/menu.lst also z.B. so:

# vorher:
# kernel        /vmlinuz root=/dev/sda1         ro quiet splash bootkbd=de 
# nachher:
kernel          /vmlinuz root=LABEL=MeinDebRoot ro quiet splash bootkbd=de

und in /etc/fstab so:

# vorher:
# /dev/sdb1 /	xfs     defaults      
# oder:
# UUID=e3d939af-7fc1-491e-9fb6-af9a04fe6535 /	xfs     defaults      
# nachher:
LABEL=MeinDebRoot /	xfs     defaults      

Swap-Partitionen können auch mit einem Namen versehen werden.
Siehe dazu die Man-Page von mkswap.  

Hoffe, dass hilft.

Mit freundlichen Grüßen,
Peter Funk
-- 
Peter Funk, Oldenburger Str.86, D-27777 Ganderkesee, Germany; office: 
ArtCom GmbH, Lise-Meitner-Str. 5, D-28359 Bremen, Germany, tel: +49-421-20419-0



Reply to: