Device-Reihenfolge angeben

angelsfall

angelsfall

Routinier
Hallo,

ich nutze ein aktuelles Debian etch (netinstall, kernel 2.6.18-4-686) mit Grub.

Folgende Hardware-Konfiguration liegt vor:

Boot-Device: USB-Festplatte, wird in Linux als SCSI-Device geführt (immer vorhanden, /dev/sdX)
Desweiteren gibt es zwei Einschübe:
IDE (immer /dev/hda, wenn Festplatte eingelegt)
sATA, läuft als SCSI-Device in Linux (/dev/sdX, nur da wenn Festplatte eingelegt)

Die beiden SCSI Umgebungen kommen in Konflikt, wenn eine sATA-Platte eingelegt ist.
Grub sitzt auf der USB-Festplatte. Ist keine sATA-Platte eingelegt, bootet Linux einwandfrei. Der Device ist dann wie erwartet /dev/sda.
Boote ich nun mit einer sATA-Platte, bootet er auch von der USB-Festplatte (das BIOS ist also richtig eingestellt), packt aber diese dann nach /dev/sdb. Die sATA-Platte packt er nach /dev/sda. Nun versucht er aber, von /dev/sda zu booten, was nicht klappt, da dort nicht das root-System vorhanden ist, sondern auf /dev/sdb.
Da beim Booten entweder eine sATA-Platte vorhanden ist oder eben nicht, wird die Platte mit der root-Partition mal in sdb, mal in sda sein, nie eindeutig definiert.
Kann man beim Booten des Kernels Parameter übergeben, wo man explizit den Bus ansprechen kann (damit er weiss, das die USB-Platte immer /dev/sda ist)?

(Die USB-Platte muss Boot-Platte sein.)
 
Hallo
Die Bootparameter bezüglich der Partitionen stehen ja in der menu.lst von Grub.
Mit dem Kernel hat das sonst wenig zu tun, da grub ja erstmal den Kernel auf der richtigen Partition finden muss.

Also könntest du dir höchstens ein Auswahlmenue basteln für beide Fälle.

Dabei musst du dann vermutlich mit map die Geräte tauschen.

Gruß Wolfgang
 
Hallo

Das hört sich nach ein Fall für LABEL bzw. UUID. Du kannst die Partitionen mit einen Label versehen (e2label)
und diese in Form von 'root=LABEL=labelname' bei den Kernelparametern in Grub eintragen. z.B.

kernel (hd0,1)/vmlinuz-2.6.18-3-amd64 root=LABEL=root2

Diese Labels kannst du auch in der fstab benutzen.

LABEL=root2 / ext3 defaults,errors=remount-ro 0 1
LABEL=swap none swap sw 0 0
LABEL=boot /boot ext3 defaults,noauto 0 1

Eine zweite Möglichkeit ist dies mit den UUIDs zu realisieren. Diese sind aber zu lang und für Tippfehler anfällig.
Die UUID zu deinen Platten findest du z.B. unter /dev/disk/by-uuid.

MfG
seadog
 
Hallo,

ich wollte dieses Thema nochmals aufgreifen, da ich momentan ein ähnliches Problem habe.

System: Debian Etch Kernel 2.6.18

Habe das System, das später ausschließlich als File-Server laufen soll, auf einer kleinen Platte aufgebaut.
Die Daten sollen auf der - absichtlich nachträglich - eingebauten grossen Disk landen.
Diese Disk ist über einen eigenen Controller (exsys 3320) angeschlossen.
Es wird auch alles schön erkannt und der Kernel bootet.
ABER: leider wird dort die neue Platte als "hdc" und die eigentliche Boot-Platte als "hde" registriert, was zu folge hat, dass System dann ins schleudern gerät:
"Waiting for root file system ..."
"ALERT! /dev/hda1 does not exist."

Da das System auch dann booten soll, wenn die "grosse" Platte fehlt, möchte ich ein umtragen in "device.map" oder "menu.lst" vermeiden.

Geht das überhaupt?
Ist dazu die UUID zu gebrauchen und wenn ja wie?
Hat jemand eine Idee?

Vielen Dank schon mal!
 
Hallo Thofra,

siehe mein Beitrag darüber. Benutze die UUIDs oder Labels, damit hast du dann keine Probleme mehr.

MfG
seadog
 
Hallo sedog,

danke. Den Artikel hatte ich zwar gesehen, aber mich nicht recht getraut ...

Der erste Schritt hat tasächlich gut funktioniert. Aber jetzt hänge ich, ähh das System eine Station weiter:

fsck: No such file or directory while trying to open /dev/hda9
fsck: No such file or directory while trying to open /dev/hda8
fsck: No such file or directory while trying to open /dev/hda5

Was irgendwie einleuchtet. Wahrscheinlich muss man jetzt die fstab anpassen? bekommt man die auch so hin, dass dort nicht /dev/hdX steht?

Thanx!
 
Hallo Thofra,

du kannst in der fstab auch die Labels bzw. UUIDs benutzen.

MfG
Thomas
 
Hallo seadog,

danke für Deine Antwort.
Hatte es heute morgen schon selbst herausgefunden und noch keine Zeit gehabt es hier zu posten.

Für alle, die es interessiert: die fstab-Einträge sehen dann statt bspw.

/dev/hda5 /usr ext3 defaults 0 2

so aus:

#/dev/hda5
UUID=e6509880-8dff-4409-8adb-f809e04fcd67 /usr ext3 defaults 0 2


Vielen Dank nochmals für die Unterstützung!
 

Ähnliche Themen

Keine grafische Oberfläche (Debian Installation)

Grub Boot Menü - Windows 10 hinzufügen

SSD auf einen (geringfügig) kleineren USB-Stick wiederherstellen

Linux über einen USB-Stick booten

X startet nichtmehr

Zurück
Oben