GRUB ERROR 13: Invalid or unsupported executable format

  • Ich versuche gerade, einen Server, der bisher mit openSUSE 11.1 lief, auf openSUSE 12.1 umzustellen.
    11.1 ist in /dev/md0 (RAID-1) installiert, und 12.1 habe ich in /dev/md1 installiert.
    Um während der Konfigurationsphase immer mal wieder schnell auf das alte System zurückschalten zu können, habe ich in die /boot/grub/menu.lst der 12.1 den Eintrag

    Code
    title SUSE 11.1
        rootnoverify (hd0,0)
        chainloader +1


    gemacht. Benutze ich diesen beim Booten, erhalte ich die Fehlermeldung


    ERROR 13: Invalid or unsupported executable format


    Umgekehrt, wenn ich in der 11.1-er menu.lst den Eintrag

    Code
    title SUSE 12.1
        rootnoverify (hd0,1)
        chainloader +1


    mache, ist es genauso.
    Das Filesystem ist in beiden Fällen ext3, und GRUB ist Version 0.97 (also nicht GRUB2).
    Kernel ist jeweils der defaultmäßig installierte.


    Hat hier vielleicht jemand eine Idee, was da schiefläuft?


    Klaus

  • Hi Klaus,


    sorry, gerade erst entdeckt -
    hast Du /boot auf einem Raid-System oder als extra Partition?


    Ich hatte mal die Probleme, dass linux nicht von raid-Partitionen starten will.
    Wenn ich es recht weiß, wurde die raid-Unterstützung auf Modul umgestellt, während die bei älteren Kerneln einkompiliert war.


    Seither (ist schon ein paar Jahre her) habe ich ne Mini-ext2 Partition für /boot und lade dann ein Root-FS von Raid. Damit habe ich keine Probleme mehr.


    Gruß Gero

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!


  • hast Du /boot auf einem Raid-System oder als extra Partition?


    Bei mir ist immer alles in einer Partition - extra /boot mag ich nicht.


    Zitat


    Ich hatte mal die Probleme, dass linux nicht von raid-Partitionen starten will.
    Wenn ich es recht weiß, wurde die raid-Unterstützung auf Modul umgestellt, während die bei älteren Kerneln einkompiliert war.


    So was blödes aber auch... :(


    Klaus

  • Zitat

    Bei mir ist immer alles in einer Partition - extra /boot mag ich nicht.


    Früher (tm) - also vor SSD - habe ich mehrere Platten parallel eingesetzt (jeweils eine für /usr, /var und /lib) das hat schon einiges an Geschwindigkeit gebracht.


    Jetzt mit SSD habe ich alle Partitionen als Raid0 aufgesetzt.
    Da die Teile von OSZ von einer Generation zur nächsten kleiner wurden, konnte ich den Differenz-Bereich als einzelne Partition nehmen. Das reicht völlig für /boot (bei mir sind keine 100Mb in /boot)


    Gruß Gero

    Ich bin verantwortlich für das, was ich schreibe, nicht für das, was Du verstehst!

  • Wo ist grub eigentlich installiert, MBR oder in der aktiven primären Partition? Die Chainloader-Variante kann nur Funktionieren, wenn Grub (oder ein anderer Bootloader) in der aktiven primären Partition installiert ist.


    Gruß
    e9hack

  • Wo ist grub eigentlich installiert, MBR oder in der aktiven primären Partition? Die Chainloader-Variante kann nur Funktionieren, wenn Grub (oder ein anderer Bootloader) in der aktiven primären Partition installiert ist.


    Auch auf die Gefahr hin, mich jetzt als "unwissend" zu outen ;) - wie finde ich denn heraus, wo GRUB installiert ist?


    Für den "Rücksturz" von 12.1 (welches ja seinen Bootloader bereits installiert und mir so den Rückweg zu 11.1 abgeschnitten hatte) nach 11.1 habe ich über ein Rescue-System GRUB neu installiert mit

    Code
    grub
    device (hd0) /dev/sda
    root (hd0,0)
    setup (hd0)
    quit


    Kannst du daraus was ablesen?


    Klaus

  • Für den "Rücksturz" von 12.1 (welches ja seinen Bootloader bereits installiert und mir so den Rückweg zu 11.1 abgeschnitten hatte) nach 11.1 habe ich über ein Rescue-System GRUB neu installiert mit

    Code
    grub
    device (hd0) /dev/sda
    root (hd0,0)
    setup (hd0)
    quit


    Kannst du daraus was ablesen?


    Grub ist im MBR installiert.


    Wenn ich Platten umziehe und das alte System lauffähig halten will, trage ich das alte System einfach im neuen Grub ein und kopiere alles auser Grub (kernel, initrd, .. ) von der alten Platte von /boot auf die neue Platte wieder nach /boot. Wenn sich die Platten ändern (aus sda wird sdb und neue Platte wird sda), müssen alle Referenzen per /dev/disk/by-id/ata-XXXX-part# erzeugt worden sein (grub, fstab, ..). Man kann dann wahlweise alt oder neu von der neuen Platte mit neuem Grub booten.


    Bei Suse konnte man früher auswählen, ob Grub im MBR oder in der Root-Partition installiert werden soll. Wenn Du da Root-Partition wählst, sollte die chainloader-Variante funktionieren. Du wirst dann aber den alten Grub nicht los oder must später auf die MBR-Variante wechseln.


    Gruß
    e9hack


  • Bei Suse konnte man früher auswählen, ob Grub im MBR oder in der Root-Partition installiert werden soll. Wenn Du da Root-Partition wählst, sollte die chainloader-Variante funktionieren. Du wirst dann aber den alten Grub nicht los oder must später auf die MBR-Variante wechseln.


    Könnte ich meine GRUB-Anleitung von oben so ändern, daß er in der Root-Partition der 11.1-Installation landet?
    Es käme mir ja eigentlich nur darauf an, von der 12.1-Installation aus wahlweise die 11.1 nochmal booten zu können.
    Von der 11.1 aus die 12.1 zu booten muß gar nicht sein.


    Klaus


  • Könnte ich meine GRUB-Anleitung von oben so ändern, daß er in der Root-Partition der 11.1-Installation landet?
    Es käme mir ja eigentlich nur darauf an, von der 12.1-Installation aus wahlweise die 11.1 nochmal booten zu können.
    Von der 11.1 aus die 12.1 zu booten muß gar nicht sein.


    Normalerweise sagt 'setup (hd0)', wo grub installiert werden soll. Momentan ist das der MBR. Da Deine Root-Partition per 'root (hd0,0)' definiert wird, sollte 'setup (hd0,0)' grub dort installieren. Hier wird das auch so beschrieben.


    Gruß
    e9hack

  • Es sollten sich auch beide Suse-Installationen über den Grub im MBR starten lassen. Die active menu.lst muß dann beide Einträge enthalten:


    Über 'root (hd0,x)' wird entschieden, von welcher Partition Kernel und Initrd geladen werden sollen.


    Gruß
    e9hack

  • Es sollten sich auch beide Suse-Installationen über den Grub im MBR starten lassen. Die active menu.lst muß dann beide Einträge enthalten:


    Über 'root (hd0,x)' wird entschieden, von welcher Partition Kernel und Initrd geladen werden sollen.


    Danke!!!
    Damit klappt's jetzt wie gewünscht :)
    Jetzt durchschaue ich das Ganze auch etwas besser - vielen Dank für deine Erklärungen.


    Klaus

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!