Laden Sie syslinux von GRUB2 - zeigen Sie das Menü syslinux.cfg an


9

Ich verwende ein Clonezilla Live-USB-Laufwerk, um Systeme neu abzubilden. In Übereinstimmung mit den Erläuterungen unter http://clonezilla.org/fine-print-live-doc.php?path=clonezilla-live/doc/99_Misc/00_live-boot-parameters.doc fordert mich meine Festplatte mit dem enthaltenen Menü auf Dies gilt syslinux.cfgfür alle Systeme mit Ausnahme der neuesten Systeme, bei denen es sich um UEFI-Computer handelt (und deren BIOS so konfiguriert ist, dass sie zuerst von UEFI-Geräten gestartet werden), auf denen ich über das grub.cfgMenü aufgefordert werde .

Da ich mein syslinux.cfgMenü stark angepasst habe, möchte ich die grub.cfgDatei so ändern , dass sie nur automatisch in Syslinux geladen wird, damit das syslinux.cfgMenü in allen Fällen angezeigt wird.

Ist das überhaupt möglich? Wie?

Auf der Festplatte befindet sich GRUB2 und ich verstehe (wenn ich mich im Internet umschaue), dass dies möglich sein wird, aber ich habe noch nicht verstanden, wie. Jede Hilfe wird geschätzt.

Bearbeiten:
Ich möchte klarstellen, dass das System mit grub ohne Probleme grub.cfgstartet, indem Sie eine der Optionen auswählen, die standardmäßig im Menü enthalten sind, wie vom Conezilla-Download bereitgestellt. Ich möchte jedoch das Menü von syslinux (in syslinux.cfg) anzeigen. Anstelle des Standardmenüs in der grub.cfg

zweiten Bearbeitung, wie ich es gemacht habe:
Am Ende haben die vorgeschlagenen Lösungen für mich nicht funktioniert, also habe ich einfach den Ordner 'EFI \ boot' "nicht verfügbar" gemacht (umbenannt); Auf diese Weise schlägt der UEFI-Start fehl und das System startet von syslinux wie auf dem älteren System: keine Änderung am BIOS, kein neues Menü, keine Kettenlast ...


Ich denke, Sie können configfileParameter in grub.conf verwenden, um die syslinux.cfg
SHW

Antworten:


1

Dies deutet darauf hin, dass es sich um einige Fehler im Zusammenhang damit und um einige Patches handelte, sodass es schwer zu wissen ist: https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/469568

Wenn Ihr Betriebssystem grub aktualisiert, wird zunächst grub.cfg neu generiert und Ihre Konfiguration gelöscht. Ändern Sie daher /boot/grub.cfg nicht manuell, sondern ändern Sie stattdessen die Dateien in /etc/grub.d (Datei mit dem Namen 40_custom oder ähnlichem). und anrufen grub-mkconfig -o /boot/grub/grub.cfg.

Sie könnten so etwas Einfaches ausprobieren:

Menüeintrag "Syslinux-Root-Laufwerk" {

setze root = (hd1,3)

Kettenlader +1

}}

(hd1,3) ist eine SDB3-Festplattenpartition. Grub unterstützt die Identifizierung durch UUID, sodass ein Setup erstellt werden kann, in dem Ihre Partition von allen PCs erkannt wird. Nach meiner Erfahrung reicht dies jedoch manchmal nicht aus.

Sie könnten auch so etwas versuchen chainloader (hd1,3)/path/to/syslinux/isofile.bin

Wenn alles fehlschlägt, ist es möglich, von ISO mit syslinux zu booten, aber es scheint, dass dies in Ihrem Fall keine Option ist.


Ich habe dies zuerst über die grub-Befehlszeile versucht (drücke c einmal in grub), ich habe meine syslinux.cfg-Partition identifiziert und 'chainloader (hd0, msdos2) +1' direkt versucht, aber ich erhalte den Fehler 'ungültiger EFI-Dateipfad'. Bitte beachten Sie, dass der Inhalt der obigen Partition keine .bin-Datei enthält. (Ich habe auch die Frage für zusätzliche Klarheit bearbeitet)
Rodedo

Dies ist wahrscheinlich nicht der Fall. Der Name und die Erweiterung des Binärformats (.bin) hängen von der Distribution ab (Live-CDs haben normalerweise bin, um mit syslinux und isolinux booten zu können, aber in Ihrem Fall handelt es sich wahrscheinlich um eine .bs-Datei. Achten Sie hier auf Befehle syslinux.org/wiki/index.php/SYSLINUX#LABEL_command ). Jetzt recherchiere ich jedoch eines: Wenn der Kernel nicht direkt mit dem Casper-Modul (auch bekannt als Live-CD / Live-USB-Modus) gestartet wird, wird das Bootloader-Menü nicht ausgeführt. Nach ein paar Minuten schreibe ich Ergebnisse.
IBr

OK, ich sehe, dass Kandidaten die .c32-Dateien sind, die ich in diesem Ordner habe. Genauer gesagt ist dies der Inhalt des Ordners: 'chain.c32', 'menu.c32', 'reboot.c32', 'vesamenu.c32', 'memdisk', 'syslinux.cfg' <br> ohne die cfg-Datei soll ich den anderen nacheinander versuchen? Als ich mich umsah, verstand ich, dass die chain32 zum Chailoiding in die andere Richtung verwendet werden soll (also nicht das, was ich brauche). Liege ich falsch?
Rodedo

Wenn Sie casper aufrufen, wird das Bootloader-Menü nicht aufgerufen. Ich habe keine Ahnung, wie ich das erreichen soll. Wenn das helfen würde, hätte ich mein eigenes Beispiel für das Laden von menuentry 'Archlinux The Latest' { insmod ext2 set root=(hd0,6) multiboot /boot/grub/i386-pc/core.img }
Madenketten

0

Nach 4 Jahren ... :)

Versuche dies:

menuentry 'menuentry' {
    set root=(hd0,1)
    syslinux_source /path/isolinux/isolinux.bin
    syslinux_configfile /path/isolinux/isolinux.cfg
}

1
Bitte erläutern Sie etwas und erklären Sie, warum dies das Problem löst.
Gegenmodus

-1

Sie müssen eine Verzeichnisinstallation anstelle einer Bootsektorinstallation durchführen. Wenn Sie eine Bootsektorinstallation durchführen, dd die ersten 512 Bytes der Partition in eine Datei und laden sie in diese Datei. arbeitete für mich.


Das mag richtig sein, aber es könnte von etwas Erklärung profitiert etwa wie die Maßnahmen zu ergreifen , beschrieben (und ordnungsgemäße Aktivierung).
Caleb
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.