Hallo Georg, Listlinge.

Am 14. November 2011 22:48 schrieb <[email protected]>:


> Hallo zusammen,
>
> erst mal vielen Dank für Eure vielen Mails und die vielen Tipps, das
> Problem zu bearbeiten. Ich komme voraussichtlich am Wochenende dazu, mein
> System genauer unter die Lupe zu nehmen.
>
> Andy, Dein Hinweis, dass die Bezeichnung der Laufwerke bei den
> verschiedenen Distributionen unterschiedlich sein kann, finde ich
> interessant.
>
 Ich vermute diese Aussage mag etwas merkwürdig für den Ein oder Anderen
klingen.

> Das prüfe ich mal zuerst.

D'rum prüfe wer sich ewig bindet. ;-)

Tatsächlich hängt die Reihenfolge der device-Erkennung in erster Linie von
der Kernel-Konfiguration und somit auch von der Kernel-Version ab.
Insofern natürlich auch indirekt von der Distribution, je nach verwendeter
Kernel-version bzw. dessen Vorkonfiguration.

In alter Kernel-Zeit wurden die IDE-Festplatten noch als hda-hdx benannt,
dabei kamen die PATA Kernel-Treiber zum Einsatz.
Später, mit aufkommen der SATA Laufwerke, wurden dafür notwendige SATA
Kernel-Treiber parallel entwickelt und kamen anfangs auch parallel zu den
PATA-Treibern zum Einsatz.
Das führte anfangs dann auf Mischsystemen dazu, dass hdx für IDE und sdx
Bezeichnungen für SATA-Laufwerke gleichzeitig existierten.

Neuere SATA-Treiber können aber seit einiger Zeit auch die IDE-Laufwerke
ansprechen, weshalb diese zusammengeführt wurden und nun eine einheitliche
Benennung als sda-sdx haben.
Werden IDE und SATA Laufwerke gleichzeitig über die SATA-Treiber
angesprochen, so tauchen in der Reihenfolge die IDE-Laufwerke als erstes
auf.

Wurde so ein altes Mischsystem, z.B. mit zwei IDE Platten als hda und hdb
und Zwei SATA-Platten als sda und sdb aktualisiert, so wurde plötzlich aus
hda und hdb, sda und sdb, wogegen die ursprünglichen
sda und sdb zu sdc und sdd wurden, sich also um Zwei Positionen nach hinten
verschoben!
Gleiches gilt daher also auch für die Erkennung der Laufwerke abhängig vom
Alter des darauf gebooteten Live-Systems.

Doch das nur als Vorgeplänkel, denn anscheinend hast du ja nur
SATA-Laufwerke, aber keine angeschlossenen IDE-Platten.
Doch dafür hast du anscheinend eine USB-Festplatte angeschlossen, die
verhält sich wieder ganz anders und noch weniger vorhersagbar.

So kann es in der Reihenfolge der Erkennung einen Unterschied machen, ob
man bereits mit angeschlossener USB-Platte bootet, oder diese erst nach dem
booten ansteckt.
Auch kann die Erkennungsreihenfolge wieder mal von der Kernel-version und
dessen Konfiguration abhängen.

So hatte ich z.B. schon mal mit kernel 2.6.34 den Fall, dass wenn ich mit
CONFIG_USB_STORAGE=y die USB Unterstützung fest in den Kernel einkompiliert
hatte, sich die Vier devices meines Card-Readers vorgefuscht hatten.

Da war dann sda die erste Festplatte, dann kam mit sdb-sdf der Cardreader
und dann erst kamen die restlichen Platten mit sdg-sdh.

Verwendete ich dagegegen CONFIG_USB_STORAGE=m, dann war alles wie
gewünscht, also Platten zuerst.

Man sieht also, das sich das System recht dynamisch verhalten kann. Deshalb
ersann man ja auch Techniken um die device-Benennung eindeutiger zu
gestalten, z.B. durch die verwendung von UUID oder Benennung durch LABELs.
Übrigens, so eindeutig sind UUID's auch nicht, wer schon mal eine Partition
geclont hat, z.B. mit dd oder Partimage, der stellt fest dass die UUID
übernommen wird, also dann auch mehrfach existierern kann. Böse Falle, wenn
man seine Platten dann per UUID in der fstab gemountet hat, denn es wird
dann wohl immer die letzte in der Reihenfolge der erkennung dorthin
gemounted, wo sie in der fstab deklariert wurde.

Aber ich wollte Euch nicht verwirren, sondern dafür sensibilisieren unter
bestimmten Umständen erst einmal  zu überprüfen welche Platte ihr
tatsächlich vor euch habt, bevor ihr etwas darauf installiert.

Leider wird die Sache mit der GRUB-Benennung nicht wirklich einfacher, denn:

Grub weist Gerätenamen auf Grundlage des BIOS zu. Wenn Sie Ihre BIOS-
Einstellungen ändern, ändern

sich auch die Buchstaben und Ziffern Ihrer Geräte. Wenn Sie zum Beispiel
die Bootreihenfolge Ihrer Geräte

ändern, müssen Sie möglicherweise auch Ihre Grub-Konfiguration ändern.



Leider habe ich bisher noch keine Dokumentation finden können die alle
Aspekte dieses Reihenfolge-Wirrwars hinreichend erläutert, aus dem was ich
finden konnte und schon weiß schließe ich daher folgendes:




> Richtig ist, dass ich die Festplatten zunächst wie von Dir angegeben
> verkabelt habe, also
>
> SATA 1: 500 GB
> SATA 2: 500 GB
> SATA 3: 20 GB (GB Zahl weiss ich jetzt nicht mehr genau, die kleine Platte
> halt)
>
> Dann habe ich aber festgestellt, dass SATA 2 nicht als sdb erkannt wurde,
> sondern als sdc. Das fand ich komisch, habe mir das aber so erklärt, dass
> SATA 2, dann wohl der Slave vom ersten Bus ist, wie ich das halt von SCSI
> kannte, und die Platten entsprechend am Bus umgehängt. Bei Gentoo hat dann
> alles funktioniert.
>
> Bei Debian habe ich GRUB, wie ihr alle schon richtig bemerkt habt, GRUB 1
> auf sdc installiert, so meine ich zumindest. Der Chainloader in der Gentoo
> grub.conf hat dann aber den Boot Loader auf der sdc nicht gefunden, was
> mich gewundert hat. Vielleicht liegt es wirklich daran, dass die Platten in
> Debian einfach anders nummeriert werden.
>
Hier zeigen sich für mich mal wieder beispielhaft die typischen
Kommunikationsprobleme auf Listzen und in Foren (gilt also nicht nur Dir
Georg), dass wichtige Informationen ausgelassen werden, die die helfenden
in die Irre führen müssen ;-)
In deinem vorigen Post zeigtest du uns zwar deine grub.conf, dort stand
aber kein chainloading Eintrag. Auch blieb unerwähnt dass du dein Debian
auf eine USB-Platte installiert hast!

Ein Chainloading aus dem Bootloader (Grub1), auf ein USB Laufwerk kann
meines Erachtens nicht funktionieren, da GRUB1 keinen Dateisystemtreiber
zur Verfügung stellt um auf das USB device zugreifen zu können (keine
Ahnung ob GRUB2 das kann, LILO kan's natürlich auch nicht).
Was aber gehen sollte, ist per BIOS oder per BIOS-Auswahlmenü (falls
vorhanden), direkt von einem angeschlossenen USB-Device zu booten.

Gemäß GRUB Syntax wäre diese Device dann aber
 root (hd0,0)   wenn dann darauf ein GRUB korrekt installiert ist, dann
sollten in dem darauf befindlichen /boot/ Verzeichnis dann der zu ladenden
Linux-Kernel, ggf. + initrd liegen, die würden dann geladen mit z.B.
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/sdc3 ro
initrd          /boot/initrd.img-2.6.26-2-686

Erst der geladenen kernel würde dann den Zugriff auf das USB-Device per
Dateisystemtreiber ermöglichen können, trotzdem würde dann das root
Dateisystem als sdcx angegeben müssen obwohl ja vorher root (hd0,0) dort
stand, statt (hd2,x).
Verwirrend, nicht wahr;-)

Das gilt aber nur für die Syntax in der verwendeten grub.conf. Bei einer
seperaten installation von Grub auf den Stick, von einem Live-System
ausgehend das die Platte als sdc erkennt , müsste bei einer Installation
von GRUB mittels der Grub shell, tatsächlich

grub

root (hd2,0)

setup (hd2)

quit
eingegeben werden.




>
> Ob ich die richtige Platte erwischt habe, mache ich derzeit einfach am
> Geräusch fest: wenn die Platte bei einer Schreibaktion anläuft und es
> hörbar rauscht, bin ich richtig auf der kleinen Seagate Platte :) Das ich
> das als Kriterium benutze fällt mir jetzt erst auf und belustigt mich sehr.
> Is halt nur ein privates System, die Daten liegen auf einer externen
> USB-Platte, so dass hier nix passiert, außer vielleicht, dass ich ein
> Linux-System neu aufsetzen muss. Das ist dann aber auch, wenn's mal schief
> geht, alles.
>
Da gäb es natürlich verlässlichere Methoden die ich ggf. später mal
beschreiben könnte, denn mir rennt gerade die Zeit davon...

>
> Soviel für heute.
>
>   Viele Grüße
>
> Georg
>
>


Gruß, Andy.
_______________________________________________
Trolug_trolug.de mailing list
[email protected]
https://ml01.ispgateway.de/mailman/listinfo/trolug_trolug.de

Antwort per Email an