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

Dualboot einrichten für Systeme mit SYSLINUX

Hallo,

ich habe auf meinem HTPC LibreELEC auf einem USB-Stick installiert, ein kleines abgespecktes Linux mit Kodi als Player. Es nutzt kein Grub, sondern Syslinux als Bootloader. Es ist aber möglich mit Ubuntu ein Dualboot mit Grub einzurichten - http://wiki.openelec.tv/index.php/Dual_Boot (diese Anleitung ist für OpenELEC; LibreELEC ist ein Fork davon). Das ganze geht, wenn sich Grub/Ubuntu und LibreELEC auf dem gleichen Datenträger befinden. Sobald ich aber Grub/Ubuntu auf einer SSD habe und LibreELEC auf einem USB-Stick geht das nicht mehr. Ich bin so vorgegangen:

Das hier in die "/etc/grub.d/40_custom" eingefügt

Code:
menuentry "LibreELEC" {
    search --set=root --label System --hint hd0,msdos3
    linux /KERNEL boot=LABEL=System disk=LABEL=Storage quiet
 }

Danach das Grub-Menü noch sichtbar gemacht über Anpassung der /etc/default/grub (nochmal update-grub) und

Code:
sudo update-grub

Danach neu gestartet. Jetzt kann ich zwischen Ubuntu und LibreELEC wählen. Was mache ich aber falsch, wenn ich das für LibreELEC auf einem anderen Stick versuche? Hier habe ich das hier in die 40_custom eingefügt:

Code:
menuentry "OpenELEC" {
    search --set=root --label System --hint hd1,msdos3
    linux /KERNEL boot=LABEL=System disk=LABEL=Storage quiet
 }

Wenn die SSD 'hd0' ist müsste der USB-Stick ja 'hd1' sein, da keine anderen Datenträger angeschlossen sind.

Wähle ich hier im Grub-Menü LibreELEC aus kommt die Meldung

Code:
Fehler: no such device: System
Fehler: Datei /Kernel nicht gefunden

Ich habe statt der Label auch die UUID versucht mit diesem Eintrag

Code:
menuentry "OpenELEC" {
    search --no-floppy --fs-uuid --set=root 21247e93-512c-4aab-894b-caa7cb3a8930
    linux /KERNEL boot=UUID=21247e93-512c-4aab-894b-caa7cb3a8930 disk=UUID=df911cc6-741b-4f8a-8ef1-3ca012a95d58 quiet
}

Das geht solange alles auf dem gleichen Datenträger liegt, nicht aber wenn LibreELEC auf einem anderen Datenträger liegt
 

spoensche

Moderator
Teammitglied
Welches Dateisystem ist den auf dem Stick? Wenn man dem Grub nicht sagt, dass er das jeweilige FS-Modul laden soll, dann kann er auch nicht von dem Medium booten.
Es gibt bei Grub 2.x auch ein Script/Tool grub-syslinux2cfg, dass dir eine bestehende Syslinux Konfig in eine Grub Konfig konvertiert.

Du musst in deiner Grub Konfig mindestens das Modul usb laden.
 
OP
B

bunter fisch

Member
spoensche schrieb:
Welches Dateisystem ist den auf dem Stick?

Der Stick hat mehrere Dateisysteme. LibreELEC hat FAT32 und Ext4, Openelec hat 2xext4 und das Ubuntu hat auch ext4. Das booten geht ja in alle Systeme solange sich alles auf dem gleichen Datenträger befindet. Ich glaube das Problem ist nicht irgendein Dateisystem (dann dürfte es ja gar nicht gehen) sondern man muss Grub sagen, dass sich ein OS auf einem anderen Datenträger befindet.

Du musst in deiner Grub Konfig mindestens das Modul usb laden.

Das Problem besteht auch, wenn überhaupt kein USB-Stick beteiligt ist. Hab jetzt mal die OS auf 2 SSD verteilt und hatte das gleiche Probleme. Auf der gleichen SSD geht es.
 

marce

Guru
poste mal deine komplette Config, wenn alles auf einer HD ist (tut) und die komplette Config, wenn es auf mehrere HDs verteilt ist (tut nicht).
 

spoensche

Moderator
Teammitglied
Code:
menuentry "LibreELEC" {
    search --set=root --label System --hint hd0,msdos3
    linux /KERNEL boot=LABEL=System disk=LABEL=Storage quiet
 }
menuentry "OpenELEC" {
    search --set=root --label OE_SYSTEM --hint hd0,msdos3
    linux /KERNEL boot=LABEL=OE_SYSTEM disk=LABEL=OE_DATA quiet
 }

Wenn die *ELEC auf USB liegen, dann kann "hd0" schon mal nicht stimmen, weil hd0 = 1. Platte im System. Du musst bei beiden Einträgen das USB Modul (insmod usb)laden, was ich bereits erwähnt habe. Aus hd0 musst du dann hd1 machen, sofern du nur eine Festplatte im PC hast.
 
OP
B

bunter fisch

Member
Muss ich das nachladen des Modules im Grub mit angeben? Wie weise ich das an?

Wenn ich aber alle 3 Systeme auf einen USB-Stick installiert habe, geht alles, auch ohne USB Module. Braucht es die nicht wenn Grub selber auf einem USB-Stick liegt?
 

spoensche

Moderator
Teammitglied
bunter fisch schrieb:
Muss ich das nachladen des Modules im Grub mit angeben? Wie weise ich das an?
In dem jeweiligen Menüeintrag folgendes einfügen
Code:
insmod usb

bunter fisch schrieb:
Wenn ich aber alle 3 Systeme auf einen USB-Stick installiert habe, geht alles, auch ohne USB Module. Braucht es die nicht wenn Grub selber auf einem USB-Stick liegt?

Eines der drei Systeme erkennt dies und fügt das Laden des Moduls automatisch mit ein.
 
Oben