• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

KernelUpdate ändert die falsche menu.lst

OP
framp

framp

Moderator
Teammitglied
Gute Idee ein aussergewöhnlichen Filenamen zu nehmen und danach zu suchen um die genauen Infos herauszubekommen wo sich die Datei aus Sicht von Grub befindet.

Ich bekomme leider immer 'bad file or directory'. Auch wenn ich
Code:
null (hd1,1) TAB
im grub in der command Line eingebe. Es scheint mir, dass der 10.3 grub Probleme hat auf 11.2 Filesysteme zuzugreifen.
 

josef-wien

Ultimate Guru
Das macht es etwas komplizierter. Dann nimm die bewußte Platte in die device.map von 10.3 auf und versuche die Aktion im laufenden 10.3. Ich denke, daß das auf Grund von
framp schrieb:
wenn ich das 10.3 starte und die sdd2 Partition mounte, dort ein vmlinuz finde
klappen sollte.

Ohne DVD-Laufwerk und ohne bootfähigen USB-Stick fällt mir noch ein, die 11.2 betreffenden Dateien aus /boot (also alle Dateien mit der Kernel-Version im Namen) nach /boot von 10.3 zu kopieren und einen 11.2-Eintrag in menu.lst von 10.3 aufzunehmen (dieser Eintrag muß root (hdX,Y) wie für den 10.3-Eintrag aufweisen, da sich Kernel und vmlinuz ja auf derselben Partition befinden, der Rest bleibt wie in der menu.lst von 11.2). Dann kannst Du 11.2 starten und die Aktion dort vornehmen.
 
OP
framp

framp

Moderator
Teammitglied
Jetzt kommt der Server wieder mit dem aktuellen 11.2 hoch. Allerdings bootet er über die menu.lst von der alten Linux 10.3 Partition. Die menu.lst sieht nun wie folgt aus :igitt:
Code:
# Modified by YaST2. Last modification on Sun Sep 13 15:05:51 CEST 2009
default 2
timeout 3

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.3 - 2.6.22.19-0.4
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.22.19-0.4-default root=/dev/sdb2 vga=0x314 selinux=0  splash=silent resume=/dev/hda5  showopts
    initrd /boot/initrd-2.6.22.19-0.4-default

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.3 - 2.6.22.19-0.4
    root (hd0,1)
    kernel /boot/vmlinuz-2.6.22.19-0.4-default root=/dev/sdb2 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd-2.6.22.19-0.4-default

title openSUSE 11.3 - 2.6.31.14-0.1
    root (hd3,1)
    kernel (hd1,1)/boot/vmlinuz-2.6.31.14-0.1-default root=/dev/sdd2 vga=0x314 selinux=0  splash=silent resume=/dev/hda5  showopts
    initrd (hd1,1)/boot/initrd-2.6.31.14-0.1-default
D.h. ich habe also wie empfohlen die KernelFiles auf die Linux 10.3 Partition kopiert. Der Witz ist, dass ich wenn das kernel und/oder initrd auf /boot/vmlinuz-2.6.31... geändert wird oder auf (hd3,1)/boot/vmlinuz-2.6.31... geändert wird immer folgende Meldung von grub bekomme:
Code:
Error 2: Bad file or directory type
Aus irgendeinem Grund kann grub nicht beim kernel/initrd Statement auf die hd3 zugreifen :irre:
 

josef-wien

Ultimate Guru
Wenn Du mit dieser menu.lst 11.2 starten kannst, führe in 11.2
josef-wien schrieb:
- find /boot/framp
- root (hdX,Y) ==> X,Y laut Ergebnis von find
- setup (hdX) ==> X laut Ergebnis von find (= MBR)
aus (X muß laut device.map 3 sein) und stelle sicher, daß in der menu.lst von 11.2 hd0 steht, bevor Du neu startest.

Wenn die 250 GB-Platte nach wie vor die Boot-Platte ist, kannst Du mit dieser menu.lst 10.3 nicht starten, da sich vmlinuz und initrd nicht auf hd0,1 befinden. Aus Sicht des BIOS gilt dann nach wie vor:
0x80 = hd0 = 250 GB-Platte = Boot-Platte
0x81 = hd1 = 400 GB-Platte
0x82 = hd2 = die eine RAID-Platte
laut hwinfo keine BIOS-ID = die andere RAID-Platte
Diese vom BIOS getroffene und von GRUB in der Boot-Phase verwendete Zuordnung hat absolut nichts mit dem Inhalt von device.map zu tun. Zur Vermeidung künftiger Verwirrungen könnte eine Anpassung der device.map helfen.

Der Vollständigkeit halber sei angemerkt, daß "root (hd3,1)" bei 11.2 bedeutungslos ist, da bei vmlinuz und initrd andere Angaben stehen. Wenn in der derzeitigen Konstellation (also vor obiger GRUB-Installation)
kernel (hd0,1)/boot/vmlinuz-2.6.31.14-0.1-default root=/dev/sdd2 vga=0x314 selinux=0 splash=silent resume=/dev/hda5 showopts
initrd (hd0,1)/boot/initrd-2.6.31.14-0.1-default
funktioniert, dann stimmt
framp schrieb:
Es scheint mir, dass der 10.3 grub Probleme hat auf 11.2 Filesysteme zuzugreifen.
nicht. Und gerade in Deinem Fall rate ich Dir dringend, in menu.lst und fstab den bei jedem Systemstart neu festgelegten Gerätenamen (z. B. /dev/sdd2) nicht zu verwenden, sondern auf Geräte-ID, UUID oder Volume-Kennung umzustellen.
 
OP
framp

framp

Moderator
Teammitglied
josef-wien schrieb:
Wenn Du mit dieser menu.lst 11.2 starten kannst, führe in 11.2
josef-wien schrieb:
- find /boot/framp
- root (hdX,Y) ==> X,Y laut Ergebnis von find
- setup (hdX) ==> X laut Ergebnis von find (= MBR)
aus (X muß laut device.map 3 sein)
Stimmt :thumbs:
und stelle sicher, daß in der menu.lst von 11.2 hd0 steht, bevor Du neu startest.
Mit den obigen Befehlen installiere ich grub auf (hd3,1). Warum muss dann in der menu.lst (hd0,1) stehen? Momentan steht
Code:
title openSUSE 11.2 - 2.6.31.14-0.1
    root (hd3,1)
    kernel /boot/vmlinuz-2.6.31.14-0.1-default root=/dev/sdd2 resume=/dev/disk/by-id/ata-SAMSUNG_HD320LD_S0K1J1LLB06398-part3 splash=silent quiet showopts vga=0x31a
    initrd /boot/initrd-2.6.31.14-0.1-default
drin.
Wenn die 250 GB-Platte nach wie vor die Boot-Platte ist, kannst Du mit dieser menu.lst 10.3 nicht starten, da sich vmlinuz und initrd nicht auf hd0,1 befinden. Aus Sicht des BIOS gilt dann nach wie vor:
0x80 = hd0 = 250 GB-Platte = Boot-Platte
0x81 = hd1 = 400 GB-Platte
0x82 = hd2 = die eine RAID-Platte
laut hwinfo keine BIOS-ID = die andere RAID-Platte
D.h. also das 10.3 kann ich dann starten wenn ich (hd1,1) benutze - richtig?
Diese vom BIOS getroffene und von GRUB in der Boot-Phase verwendete Zuordnung hat absolut nichts mit dem Inhalt von device.map zu tun. Zur Vermeidung künftiger Verwirrungen könnte eine Anpassung der device.map helfen.
Das habe ich vor - wenn ich verstanden habe wie die Dinge zusammenhängen :roll:
Der Vollständigkeit halber sei angemerkt, daß "root (hd3,1)" bei 11.2 bedeutungslos ist, da bei vmlinuz und initrd andere Angaben stehen. Wenn in der derzeitigen Konstellation (also vor obiger GRUB-Installation)
kernel (hd0,1)/boot/vmlinuz-2.6.31.14-0.1-default root=/dev/sdd2 vga=0x314 selinux=0 splash=silent resume=/dev/hda5 showopts
initrd (hd0,1)/boot/initrd-2.6.31.14-0.1-default
funktioniert,
Es funktioniert nicht (Partition not found). Wenn ich grub frage welche Partitionen er kennt, dann bekomme ich
hd0: 0
hd1: 0,1,2 -> 10.3 Partition
hd2: 0
hd3: 0,1,2,4 -> 11.2 Partition
EIn find /boot/framp liefert 'file not found'.
dann stimmt
framp schrieb:
Es scheint mir, dass der 10.3 grub Probleme hat auf 11.2 Filesysteme zuzugreifen.
nicht.
Das interessante ist, wenn ich das 11.2 starte und dort grub befrage was er so kennt bekomme ich
hd0: 0
hd1: 0,1,2 -> 10.3 Partition
hd2: 0
hd3: 0,1,2,4 -> 11.2 Partition
AberEin find /boot/framp liefert (hd3,1)
Der grub auf dem 10.3 ist 0.97-82 und auf dem 11.2 0.97-162.2.I586.
 

josef-wien

Ultimate Guru
framp schrieb:
Mit den obigen Befehlen installiere ich grub auf (hd3,1). Warum muss dann in der menu.lst (hd0,1) stehen?
Im laufenden System gilt die device.map und in der Boot-Phase die BIOS-ID. (hd0,1) ist nur eine andere Schreibweise für (0x80,1), und (128,1) ist ein weiterer gültiger Ausdruck für die 2. Partition der Boot-Platte (aber jetzt schweife ich vom Thema ab).

framp schrieb:
D.h. also das 10.3 kann ich dann starten wenn ich (hd1,1) benutze - richtig?
Wenn die 250 GB-Platte die Boot-Platte ist: ja.

framp schrieb:
Wenn ich grub frage welche Partitionen er kennt, dann ...
EIn find /boot/framp liefert 'file not found'.
In der Boot-Phase kann das nicht gewesen sein. Unter welchen Voraussetzungen geschah das? Welches Dateisystem verwendest Du bei 11.2?

framp schrieb:
Das interessante ist, wenn ich das 11.2 starte ...
AberEin find /boot/framp liefert (hd3,1)
Ich finde das völlig logisch. Die Zuordnung der Platten basiert auf der device.map, und 11.2 kann auf sein Dateisystem zugreifen.
 
Oben