kanotix.com

Installation, Einstellungen, Systempflege - Problemlösung: Excalibur per "chainloader +1" boot

bata32 - 16.09.2009, 05:23 Uhr
Titel: Problemlösung: Excalibur per "chainloader +1" boot
Hallo,

ich habe eine eigene Boot-Partition (sda1), aus der ich meine Systeme vista (sda2), Thorhammer (sda7), ubuntu 9.04 (sda8) und 2. ubuntu (sda9) per chainloader mit GRUB 0.97 boote.
Ich habe jetzt auf die Rootpartition sda9 Excalibur vom 11.09.2009 installiert (GRUB2 in die Rootpartition)
Folgende Fehlermeldung erscheint jetzt bei Auswahl des Menüeintrags für sda9:

Code:

root (0, 8)
 Filesystem type is ext2fs, partition type 0x83
chainloader +1
 Error 13: Invalid or unsupported executable format

Muss ich jetzt wirklich mein GRUB in sda1 (MBR) durch GRUB2 ersetzen und wenn ja, wie gehe ich vor?
Ich möchte nicht alle Systeme automatisch im Bootmenü haben.

Grüße,
Bata
Kano - 16.09.2009, 06:28 Uhr
Titel: Excalibur per "chainloader +1" booten
Grub 2 kann das definitiv booten, ohne os-prober wird auch kein weiteres OS automatisch eingebunden, wobei die Partitionszählung bei Grub 2 wie bei Linux ist.
krishan1 - 16.09.2009, 10:08 Uhr
Titel: Re: Excalibur per "chainloader +1" booten
bata32 hat folgendes geschrieben::

Folgende Fehlermeldung erscheint jetzt bei Auswahl des Menüeintrags für sda9:

root (0, Cool
Filesystem type is ext2fs, partition type 0x83
chainloader +1
Error 13: Invalid or unsupported executable format

Poste doch mal den entsprechenden Eintrag in der menu.lst. Sieht mir irgendwie nach einem Syntaxfehler aus (Leerzeichen?)

Ein funktionierender Eintrag für Chainload sieht für grub-legacy etwa so aus:
Code:
title      Kanotix Excalibur
root      (hd0,8)
chainloader     +1

bata32 hat folgendes geschrieben::

Muss ich jetzt wirklich mein GRUB in sda1 (MBR) durch GRUB2 ersetzen und wenn ja, wie gehe ich vor?
Ich möchte nicht alle Systeme automatisch im Bootmenü haben.

Nee, brauchst Du definitiv nicht. Aber wenn du das vorhast dann schau mal ins Wiki:
http://www.kanotix.com/index.php?module=pnWikka&tag=Grub2
bata32 - 16.09.2009, 11:21 Uhr
Titel:
Sorry;
Hatte oben vergessen, den Text als Code zu schreiben.

Mein menu.lst Eintrag lautet:

Code:

title linux Rootpartition 3 (sda9)
root (hd 0,8)
chainloader +1



@kano
Kann ich auch ein GRUB2 mittels chainloader aus einem GRUB 0.97 starten?
Wenn ja, dann ist evtl. die Installation schiefgelaufen.

Wie kann ich mittels Live-CD (Excalibur vom 11.09.09) die Rootpartition auf sda9 booten, um dies zu testen?

Grusz,
Bata
PeterG - 16.09.2009, 11:36 Uhr
Titel:
Hi bata32,

na ich würde schnell in den chat wechseln und Kano live fragen! So gehts am schnellsten!

MfG
Peter
merlin - 16.09.2009, 12:53 Uhr
Titel:
Der alte grub sieht aber nix auf ner ext4 Partition deshalb sollte er schon den grub2 nehmen. Oder er lässt sein Excalibur(oder zumindest /boot) mit ext3 laufen, dann ist es kein Problem
Kano - 16.09.2009, 14:21 Uhr
Titel:
Ich bezweifle, dass der Bootloader überhaupt in der Partition installiert ist. Im Prinzip würde das GRUB1 schon starten können. Das schöne an os-prober zusammen mit GRUB2 ist halt, dass es alle Kernel von anderen Installs aufsammelt und man dann gar keinen Bootloader in der Partition braucht. Wird halt etwas unübersichtlich, wenns viele sind.
bata32 - 17.09.2009, 05:20 Uhr
Titel:
@kano
Zitat:
Ich bezweifle, dass der Bootloader überhaupt in der Partition installiert ist.

Mein "Mastergrub" ist GRUB 0.97, Installiert im MBR, Stage-Files auf sda1. (Boot-Partition).
Über chainloader bootete ich den "SlaveGRUB" in der Rootpartition des gerade vorhandenen Systems.
Vorteil:
-Je nach Geschmack konnte ich eine Distribution auf einer beliebigen Rootpartition (sda7, sda8 und sda9) austauschen, das "Masterboot"-Menü auf sda1 inkl. GRUB im MBR bleibt vom Löschen unberührt.
-Es werden nur Menüeinträge der "eigenen" Rootpartition im betroffenen GRUB-Menü berücksichtigt.

Auf sda9 hab ich Excalibur mittels Acritox-Installer von der Live-CD installiert und GRUB natürlich nicht im MBR, sondern auf sda9 installiert,
damit beim entfernen der Distri auf sda9 mein System bootfähig bleibt.
(hätte ich GRUB im MBR installiert, dann lösche ich GRUB und die Menüeinträge auf sda9 ja auch!)

Wie kann ich Excalibur auf sda9 per Live-CD booten?
Das Austauschen von GRUB 0.97 durch GRUB2 auf sda1 bzw. im MBR möchte ich erst dann durchführen, wenn ich Excalibur getestet hab Smilie


Problem:
Anscheinend kann mit GRUB 0.97 kein GRUB2 mittels chainloader "gebootet" werden.
Kano - 17.09.2009, 08:03 Uhr
Titel:
Du schreibst es auch selten ungünstig. Chainloader geht selbstverständlich, aber ext4 geht mit root nicht. Schreib doch kurz

Code:
title Kanotix Excalibur
chainloader (hd0,8)+1

krishan1 - 17.09.2009, 10:12 Uhr
Titel:
Kano hat folgendes geschrieben::
Du schreibst es auch selten ungünstig. Chainloader geht selbstverständlich, aber ext4 geht mit root nicht. Schreib doch kurz

Code:
title Kanotix Excalibur
chainloader (hd0,8)+1

Also chainloading per GRUB 0.97 bootet bei mir auch ext4. Auch mit root-Eintrag. Natürlich sofern in der Partition ein Bootloader installiert ist. Das chainloading ist ja praktisch nur ein "durchreichen" zu einer anderen Partition.
Kano - 17.09.2009, 11:03 Uhr
Titel:
Nun set root=... brauchst bei GRUB2 immer für chainloader, bei GRUB1 kannst den Fehler ignoieren so, oder root_noverify nehmen.
bata32 - 21.09.2009, 05:31 Uhr
Titel:
@Kano

ich hab jetzt versucht, GRUB2 per chroot und Live-CD auf sda9 zu installieren.
Hier das Protokoll:
Code:

kanotix@Kanotix:~$ sudo su
Kanotix:/home/kanotix# mount /dev/sda9 /mnt
Kanotix:/home/kanotix# mount --bind /dev /mnt/dev
Kanotix:/home/kanotix# chroot /mnt
Kanotix:/# apt-get install grub-pc
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut
Lese Status-Informationen ein... Fertig
grub-pc ist schon die neueste Version.
Die folgenden Pakete wurden automatisch installiert und werden nicht länger benötigt:
  expect tcl8.4
  Verwenden Sie »apt-get autoremove«, um sie zu entfernen.
  0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
  Kanotix:/# grub-mkconfig -o /boot/grub/grub.cfg
  Generating grub.cfg ...
  Found Kanotix background: KanotixPenguins.png
  Found linux image: /boot/vmlinuz-2.6.31-10-generic
  Found initrd image: /boot/initrd.img-2.6.31-10-generic
  done
  Kanotix:/# grub-install --recheck /dev/sda9
  grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea.
  grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and its use is discouraged.
  Installation finished. No error reported.
  This is the contents of the device map /boot/grub/device.map.
  Check if this is correct or not. If any of the lines is incorrect,
  fix it and re-run the script `grub-install'.

  (hd0)   /dev/sda
  Kanotix:/#root@Asus-F3T:~$


@krishan1
Zitat:
Also chainloading per GRUB 0.97 bootet bei mir auch ext4. Auch mit root-Eintrag. Natürlich sofern in der Partition ein Bootloader installiert ist. Das chainloading ist ja praktisch nur ein "durchreichen" zu einer anderen Partition.

Wie Du es geschafft, dass per chainload GRUB2 in einer Rootpartition gestartet wird?
jokobau - 21.09.2009, 08:51 Uhr
Titel:
Wenn du schon grub installiert hast musst du ihn entfernen. Also mit testdisk einen neuen mbr schreiben.
Dann einfach nach
mount /dev/sda9 /mnt
mount --bind /dev /mnt/dev
chroot /mnt
Code:

grub-install /dev/sda

also nix sda9

und dann
Code:
 update-grub



Dann haste aber tatsächliche alle BS im Menü.
Also deaktivierst du os-prober
Code:

chmod -x /etc/grub.d/30_os-prober


Dann lädst die /boot/grub/grub.cfg
in einen Editor
nimmst die Menüpunkte raus, die du haben willst.
Hängst sie in die /etc/grub.d/40_custom an.

Falls du die Reihenfolge im Menü anders haben willst änderst die Zahlen am Beginn der jeweiligen Datei.

und wie immer dann

Code:

update-grub

Kano - 21.09.2009, 10:37 Uhr
Titel:
Noch klüger wäre es die 40_custom in ne andere Datei zu kompieren und dann zu ändern.
jokobau - 21.09.2009, 11:18 Uhr
Titel:
Stimmt.
Also als z.B. "35_mein_Menue" zurück speichern und darauf achten, dass sie ausführbar ist.
Also ggf. chmod +x /etc/grub.d/35_mein_Menue
krishan1 - 21.09.2009, 16:57 Uhr
Titel:
bata32 hat folgendes geschrieben::

ich hab jetzt versucht, GRUB2 per chroot und Live-CD auf sda9 zu installieren.
Hier das Protokoll:
Code:

  Kanotix:/# grub-install --recheck /dev/sda9
  grub-setup: warn: Attempting to install GRUB to a partition instead of the MBR.  This is a BAD idea.
  grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and its use is discouraged.
  Installation finished. No error reported.
  This is the contents of the device map /boot/grub/device.map.
  Check if this is correct or not. If any of the lines is incorrect,
  fix it and re-run the script `grub-install'.

  (hd0)   /dev/sda
  Kanotix:/#root@Asus-F3T:~$


Scheint alles glatt gelaufen zu sein. Exakt die gleiche Meldung bekomme ich auch immer bei grub-install /dev/sda9. Sind halt nur einige Warnungen bei die ignoriert werden können. Er sagt ja auch "Installation finished. No error reported."
bata32 hat folgendes geschrieben::

@krishan1
Zitat:
Also chainloading per GRUB 0.97 bootet bei mir auch ext4. Auch mit root-Eintrag. Natürlich sofern in der Partition ein Bootloader installiert ist. Das chainloading ist ja praktisch nur ein "durchreichen" zu einer anderen Partition.

Wie Du es geschafft, dass per chainload GRUB2 in einer Rootpartition gestartet wird?

Ich weiß nicht was bei Dir los ist. Ich handhabe es genau so wie immer. Bei mir ist es egal ob das chainloading zu Grub1 oder Grub2 weiterleitet, ob ext3, ext4 oder reiserfs. Es wird alles korrekt auf die entsprechende Partition "durchgereicht".

Hier nochmal mein Eintrag (habe Excalibur zufällig auch auf /dev/sda9 installiert):
Code:
title      Kanotix Excalibur KDE4
root      (hd0,8)
chainloader     +1

bata32 - 29.09.2009, 19:32 Uhr
Titel: Neuer Versuch
Hab heut' mal das BIOS vom ASUS-F3T Lappi auf Version "F3TAS.229" (aktuellste Version) aktualisiert und Excalibur erneut auf sda9 installiert. (GRUB in die Rootpartition)

@Kano
Vor "Excalibur" war "Ubuntu 9.04" auf sda9 installiert. (Grub in der Rootpartition). Per
Code:
 
title  Linux Rootpartition-3
root (hd0,8)
chainloader +1
wurde der Bootloader auf sda9 gebootet.
Eigentlich müsste nach dem Installieren von Excalibur auf sda9 (Grub in Rootpartition) wie bei "ubuntu" der Bootloader von "Excalibur" gebootet werden.

Stattdessen weiterhin der oben genannten Fehler:
"Error 13: Invalid or unsupported executable format".

Hier die Ausgabe von "fdisk -l":
Code:

Platte /dev/sda: 160.0 GByte, 160041885696 Byte
255 Köpfe, 63 Sektoren/Spuren, 19457 Zylinder
Einheiten = Zylinder von 16065 × 512 = 8225280 Bytes

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1               1           1        8001   83  Linux
/dev/sda2   *           2        2090    16779892+   7  HPFS/NTFS
/dev/sda3            2091       19457   139500427+   f  W95 Erw. (LBA)
/dev/sda5            2091        2154      514048+  82  Linux Swap / Solaris
/dev/sda6            2155        4243    16779861   83  Linux
/dev/sda7            4244        5287     8385898+  83  Linux
/dev/sda8            5288        6331     8385898+  83  Linux
/dev/sda9            6332        7375     8385898+  83  Linux
/dev/sda10           7376        9464    16779861    7  HPFS/NTFS
/dev/sda11           9465       11553    16779861    b  W95 FAT32
/dev/sda12          11554       19457    63488848+  83  Linux
bata32@Asus-F3T:~$


Steh' momentan wieder auf dem Schlauch.

Gruß
bata32
bata32 - 14.10.2009, 11:47 Uhr
Titel: Lösungsweg
Hatte zwischenzeitlich sidux auf sda9 installiert, was über den Menu-Befehl "title linux Rootpartition 3 (sda9)" auch bootete.
(sidux verwendet grub 0.97).

Hab dann mein Grub 0.97 auf "sda1" mittels den Grub-Files von sidux aktualisiert.

Danach sicherheitshalber per Grub-Shell mein "Mastergrub" aktualisiert.
Code:
root (hd0,0)
setup (hd0)


Nach erneuter Installation von Excalibur auf sda9 erneut folgende Fehlermeldung:
Code:
Error 13: Invalid or unsupported executable format
Press any key to continue ...


Folgende Anpassung meiner menu.lst brachte dann den gewünschten Erfolg:
Code:
vorher:
title Linux-Rootpartition-3
root (hd0,8)
chainloader +1

nachher:
title Linux-Rootpartition-3
kernel /boot/grub/core.img


Abschließend:
Wenn alle Funktionen bzw. Programme mit Excalibur auf sda9 laufen, kann ich mein bisheriges Produktivsystem (Thorhammer auf sda7) aufgeben und für andere Distris freigeben (ohne Anpassung des Bootloaders)!
Kano - 14.10.2009, 12:27 Uhr
Titel: Lösungsweg
Installier doch grub2 drauf, wennst wirklich so ne tolle Bootpartition brauchst. grub1 verwendet echt keiner mehr, der sich mit grub2 auskennt.
Alle Zeiten sind GMT + 1 Stunde
PNphpBB2 © 2003-2007