[Halb - Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
willy4711

[Halb - Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 25.07.2020 11:12:36

Hallo, ausgehend von diesem Thread hab ich ein wenig Hausaufgaben gemacht.
Siehe:
https://www.gnu.org/software/grub/manua ... ading.html
https://www.gnu.org/software/grub/manua ... C_Contents
https://www.debuntu.org/how-to-booting- ... from-grub/

Ziel:
Ohne Os-Prober einen Grub auf einer 2. Platte starten

Kein UEFI sondern MBR - Grub

Beide "Platten" sind M.2 Disks und haben im Grub keine "Nummerierung" wie z.B.'hd1,msdos2'
Daher bin ich ein wenig unsicher, ob das, was ich mir da zusammengereimt habe, richtig ist:


Startplatte, von der aus der andere Grub gestartet werden soll:

Code: Alles auswählen

nvme1n1     259:0    0 953,9G  0 disk 
├─nvme1n1p1 259:1    0  46,6G  0 part /
├─nvme1n1p2 259:2    0 884,8G  0 part /home
└─nvme1n1p3 259:3    0  22,6G  0 part [SWAP]
Platte. deren Grub vom Grub auf nvme1n1 gestartet werden soll

Code: Alles auswählen

nvme0n1     259:4    0 111,8G  0 disk 
├─nvme0n1p1 259:5    0    28G  0 part /media/willy/MATE ROOT
├─nvme0n1p2 259:6    0  74,5G  0 part /media/willy/MATE HOME
└─nvme0n1p3 259:7    0   9,4G  0 part 
Der Grub- Eintrag auf der zu startenden Platte (also Mate) sieht so aus:

Code: Alles auswählen

menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f8e37245-8f05-4fb5-93bc-e76299146c13' {
	load_video
	insmod gzio
	if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
	insmod part_gpt
	insmod ext2
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root  f8e37245-8f05-4fb5-93bc-e76299146c13
	else
	  search --no-floppy --fs-uuid --set=root f8e37245-8f05-4fb5-93bc-e76299146c13
	fi
	echo	'Loading Linux 5.7.0-1-amd64 ...'
	linux	/boot/vmlinuz-5.7.0-1-amd64 root=UUID=f8e37245-8f05-4fb5-93bc-e76299146c13 ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-5.7.0-1-amd64
Mein Eintrag in die /etc/grub.d/40_custom auf der Platte /dev/nvme1n1 hab ich mir so
zusammen kombiniert (keinen Ahnung, ob das Stimmt)
Was mir total unklar ist, worauf sich der Eintrag insmod ext2 bezieht

Code: Alles auswählen

menuentry "Debian Bullseye Mate" {
	insmod chain
	insmod ext2
	set root=f8e37245-8f05-4fb5-93bc-e76299146c13
	chainloader +1
}
Hab noch vorher mit grub-probe mir die Daten geholt:

GRUB device name.

Code: Alles auswählen

grub-probe -t drive -d /dev/nvme0n1p1
(hostdisk//dev/nvme0n1,gpt1)
System device name

Code: Alles auswählen

grub-probe -t device -d /dev/nvme0n1p1
/dev/nvme0n1p1
Filesystem Universally Unique Identifier (UUID)

Code: Alles auswählen

grub-probe -t fs_uuid -d /dev/nvme0n1p1
f8e37245-8f05-4fb5-93bc-e76299146c13
GRUB filesystem module.

Code: Alles auswählen

grub-probe -t fs -d /dev/nvme0n1p1
ext2
GRUB partition map module.

Code: Alles auswählen

grub-probe -t partmap -d /dev/nvme0n1p1
gpt
Ich würde gerne sicher gehen, dass das auch klappt, da ich mit Grub bisher wenig Erfahrung habe.
Zuletzt geändert von willy4711 am 14.02.2021 09:28:37, insgesamt 3-mal geändert.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von smutbert » 25.07.2020 14:49:16

Code: Alles auswählen

insmod ext2
lädt das Modul ext2, also grubs Dateisystemtreiber für die Dateisysteme ext2/3/4.
In den automatisch erstellten Booteintragen werden alle benötigten grub-Module noch einmal extra geladen, selbst dann wenn sie sowieso schon geladen sind. Meistens kann man sich die insmod-Zeilen in den selbst erstellten Booteinträgen ersparen, weil die notwendigen Module bereits geladen sind, aber sie schaden auch nicht.

Ich würde es eher so wie in dem anderen Thread beschrieben machen und die symbolischen Links auf den aktuellen Kernel und die aktuelle initrd nutzen /vmlinuz und /initrd.img.
Zu deinem Booteintrag schreibe ich vielleicht später noch etwas, da möchte ich zuerst selbst in grub etwas ausprobieren, bevor ich etwas falsches schreibe.


...und ich habe noch einen Alternativvorschlag für einen Booteintrag:

Code: Alles auswählen

menuentry 'Mate Bootmenu' {
	insmod part_gpt
	insmod ext2
	search --no-floppy --fs-uuid --set=root  f8e37245-8f05-4fb5-93bc-e76299146c13
	configfile /boot/grub/grub.cfg
}
Damit wird nicht komplett der fremde grub geladen sondern lediglich im aktuellen grub dessen Konfiguration (und damit das Bootmenü).

willy4711

Re: Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 25.07.2020 16:22:08

Das erste "Erfolgserlebnis" wäre :twisted:

Code: Alles auswählen

~$ cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Debian Bullseye Mate" {
	insmod chain
	insmod ext2
	set root=f8e37245-8f05-4fb5-93bc-e76299146c13
	chainloader +1
}
ergibt:

Code: Alles auswählen

errror - disk f8e37245-8f05-4fb5-93bc-e76299146c13 not found

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von smutbert » 25.07.2020 16:46:00

Mir ist jetzt erst beim zweiten Lesen etwas ins Auge gesprungen:
willy4711 hat geschrieben: ↑ zum Beitrag ↑
25.07.2020 11:12:36
Beide "Platten" sind M.2 Disks und haben im Grub keine "Nummerierung" wie z.B.'hd1,msdos2'
Deinen Gerätebezeichnungen im Beitrag entnehme ich, dass es sich um nvme-SSDs handelt.

Wenn grub Laufwerke, egal ob USB, (S)ATA, PCIe/nvme und egal ob optisches Laufwerk, Festplatte, USB-Stick oder SSD nicht wie gewohnt als Gerät anzeigt (zB (hd0), (hd1),... oder mit Partitionierung eben (hd0,gpt1), (hd1,msdos1),...), dann bedeutet das, dass grub diese Geräte nicht erkennt, zum Beispiel weil das BIOS sie nicht unterstützt und demzufolge auch nichts von ihnen laden kann, weder grub noch einen Kernel oder eine Konfigurationsdatei.
Natürlich hilft es dann auch nichts ein Dateisystem mittels UUID ansprechen zu wollen.


Es könnte auch sein, dass dein Mainboard grundsätzlich von nvme booten kann, das aber nur im UEFI-Modus und nicht im Legacy-/BIOS-Modus.

Benutzeravatar
habakug
Moderator
Beiträge: 4313
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von habakug » 25.07.2020 17:56:41

Hallo,

es ist nicht

Code: Alles auswählen

set root=f8e37245-8f05-4fb5-93bc-e76299146c13
sondern

Code: Alles auswählen

set root=UUID=f8e37245-8f05-4fb5-93bc-e76299146c13
Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

willy4711

Re: Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 25.07.2020 18:26:13

smutbert hat geschrieben: ↑ zum Beitrag ↑
25.07.2020 16:46:00
Wenn grub Laufwerke, egal ob USB, (S)ATA, PCIe/nvme und egal ob optisches Laufwerk, Festplatte, USB-Stick oder SSD nicht wie gewohnt als Gerät anzeigt (zB (hd0), (hd1),... oder mit Partitionierung eben (hd0,gpt1), (hd1,msdos1),...), dann bedeutet das, dass grub diese Geräte nicht erkennt, zum Beispiel weil das BIOS sie nicht unterstützt und demzufolge auch nichts von ihnen laden kann, weder grub noch einen Kernel oder eine Konfigurationsdatei.
Ist nicht so. Hatte ja vorher os-prober drauf, und da hat es ja auch gestartet (beide nvme-SSD's) sind startfähig, strten ja auch über das BIOS.
Zur Zeit ist os.-prober nur auf der 2. Disk, wo er aber auch runter soll.

Oben der Auszug ist aus der /boot/grub/grub.cfg von der 2. Disk (Mate) für die 1. Disk,
deren grub ich ja von der ersten Disk aus starten will.
@ habakug hat leider nichts gebracht.
stand:

Code: Alles auswählen

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Debian Bullseye Mate" {
	insmod chain
	insmod ext2
	set root=UUID=f8e37245-8f05-4fb5-93bc-e76299146c13
	chainloader +1
}
Fehlermeldung:

Code: Alles auswählen

errror - disk UUID=f8e37245-8f05-4fb5-93bc-e76299146c13 not found
Jetz werde ich mal smutberts Variante testen

willy4711

Re: Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 25.07.2020 18:36:46

Jeppp - das hat geklappt. Danke :THX: :hail: :hail:

Code: Alles auswählen

~$ cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
menuentry "Debian Bullseye Mate" {
	insmod chain
	insmod ext2
	search --no-floppy --fs-uuid --set=root  f8e37245-8f05-4fb5-93bc-e76299146c13
	configfile /boot/grub/grub.cfg
	chainloader +1
}
Irgendwie fehlt das aber in allen Beschreibungen und Anleitungen von Grub.
Ist wohl noch nicht in die Manuals vorgedrungen, oder ich habe es nicht gefunden, dass es M.2 NVMe SSD's gibt.

Jetzt geht es os-prober auf der 2. Disk an den Kragen :mrgreen:

willy4711

Re: Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 25.07.2020 19:25:14

Update:
Die Zeile

Code: Alles auswählen

configfile /boot/grub/grub.cfg
ist offensichtlich zwingend notwendig. Fehlt die Zeile, kommt ebenfalls die obige Fehlermeldung.
Hmm..
Was hat das denn nun noch mit Chainload zu tun ???

Aber egal- Debianos-prober nun auf beiden Systemen rausgeschmissen - alles so wie ich mir das vorgestellt habe. :mrgreen:

Danke nochmals. :THX:

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: [Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von smutbert » 25.07.2020 21:40:54

Habakug hat da eine Kleinigkeit durcheinandergebracht. Mit root=UUID=f8e37245-8f05-4fb5-93bc-e76299146c13 kann man dem Linuxkernel mitteilen wo er sein /-Dateisystem findet, aber grub selbst fängt mit dieser Schreibweise nichts an. In grub gibt es dazu das search-Kommando, das du ja etzt eh verwendet hast.

Nach der Zeile

Code: Alles auswählen

configfile /boot/grub/grub.cfg
ist chainloader übrigens überflüssig. Es ist einfach ein anderes Vorgehen. Man lädt im aktuellen grub die Konfigurationsdatei des fremden grub und bekommt so das Menü des fremden Grub angezeigt. Deine jetzige chainloader-Zeile müsste eigentlich wirkungslos verpuffen, weil sie nach dem Laden der Konfigurationsdatei gar nicht mehr ausgeführt wird.


Chainloader dient dazu (Boot)code aus dem angegebenen Sektor oder der angegebenen Datei zu laden. So könnte man grub, lilo oder einen beliebigen anderen Bootloader statt in den MBR oder den Bootsektor eine Partition (PBR) in eine Datei schreiben, die man dann mittels chainloader lädt

Code: Alles auswählen

search --set=root --fs-uuid die-uuid-des-dateisystems
chainloader /pfad/zur/datei
oder man lädt den Code aus dem MBR oder PBR, dazu muss man aber das Gerät kennen, also zB

Code: Alles auswählen

chainloader (hd1)+1
willy4711 hat geschrieben: ↑ zum Beitrag ↑
25.07.2020 18:26:13
Ist nicht so. Hatte ja vorher os-prober drauf, und da hat es ja auch gestartet (beide nvme-SSD's) sind startfähig, strten ja auch über das BIOS.
Zur Zeit ist os.-prober nur auf der 2. Disk, wo er aber auch runter soll.
Dann glaube ich dir deine Behauptung aber nicht ganz, dass die nvmer-SSDs in grub nicht auftauchen, sonst würde auch der Eintrag mit configfile nicht funktionieren.
Wenn du willst kannst du in Grubmenü einmal <c> drücken und dort in der Kommandozeile eingeben und in der Ausgabe die SSDs, eventuell CD/DVD-Laufwerke, Festplatten,... durchzählen.
Mit <Esc> kommst du danach wieder ins Menü zurück.
willy4711 hat geschrieben: ↑ zum Beitrag ↑
25.07.2020 18:36:46
Ist wohl noch nicht in die Manuals vorgedrungen, oder ich habe es nicht gefunden, dass es M.2 NVMe SSD's gibt.
m.2 ist ja nur der Formfaktor, also so ein kleines längliches Kärtchen mit dem typischen Anschluss. Der m.2-Anschluss bietet je nach Slot nicht nur PCIe sondern auch SATA und USB.

USB wäre für (interne) SSDs ziemlich ungewöhnlich und m.2-SSDs mit SATA-Anbindung verhalten sich nicht anders als 2,5"-SSDs mit SATA-Interface.
Bleibt noch PCIe, bei dem als Protokoll heutzutage meines Wissens eigentlich immer NVMe zum Einsatz kommt. Also ja, natürlich gibt es NVMe-SSDs im m.2-Format.

Für grub is es eigentlich nur wichtig, dass das UEFI/BIOS die Geräte unterstützt, damit davon gebootet werden kann und die Geräte auch in grub angesprochen werden können.

willy4711

Re: [Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 25.07.2020 23:23:39

smutbert hat geschrieben: ↑ zum Beitrag ↑
25.07.2020 21:40:54
Dann glaube ich dir deine Behauptung aber nicht ganz, dass die nvmer-SSDs in grub nicht auftauchen, sonst würde auch der Eintrag mit configfile nicht funktionieren.
Wenn du willst kannst du in Grubmenü einmal <c> drücken und dort in der Kommandozeile
Ich hänge mal die komplette /boot/grub/grub.cfg ran.
Kannst ja selber suchen ich finde es nicht.NoPaste-Eintrag41097

Ich vermute mal dass hinter einer dieser Ausgaben der Schlüssel steckt für den Chainloader. Darum hatte ich das an sich
gepostet:
Eingefügt: Habe dies aus dem Manual entnommen.
https://www.gnu.org/software/grub/manua ... probe.html
willy4711 hat geschrieben: ↑ zum Beitrag ↑
25.07.2020 11:12:36

GRUB device name.

Code: Alles auswählen

grub-probe -t drive -d /dev/nvme0n1p1
(hostdisk//dev/nvme0n1,gpt1)
System device name

Code: Alles auswählen

grub-probe -t device -d /dev/nvme0n1p1
/dev/nvme0n1p1
Filesystem Universally Unique Identifier (UUID)

Code: Alles auswählen

grub-probe -t fs_uuid -d /dev/nvme0n1p1
f8e37245-8f05-4fb5-93bc-e76299146c13
GRUB filesystem module.

Code: Alles auswählen

grub-probe -t fs -d /dev/nvme0n1p1
ext2
GRUB partition map module.

Code: Alles auswählen

grub-probe -t partmap -d /dev/nvme0n1p1
gpt
Blos das einzubauen, vor allem was, ---> keine Ahnung.
Hast du das hier gelesen ?
https://www.gnu.org/software/grub/manua ... Device-map

Nach dem hier https://www.gnu.org/software/grub/manua ... ice-syntax
müsste diese Zeile eventuell in die /etc/grub.d/40_custom eingefügt werden:

Code: Alles auswählen

hostdisk//dev/nvme0n1,gpt1
Edit:

Hab jetzt mal im Grub mit ls nachgesehen:
Für die erste Platte:

Code: Alles auswählen

(hd0) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
Das ist aber in der grub.cfg nirgends zu finden, was mich ja schon anfangs wunderte.

Code: Alles auswählen

die zweite analog (hd1) (hd1,gpt3) .......
Zuletzt geändert von willy4711 am 26.07.2020 08:02:16, insgesamt 2-mal geändert.

willy4711

Re: [Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 25.07.2020 23:49:53

Update:

Dieser Eintrag - auch unlogischer weise gpt3 versucht - ergibt:

Code: Alles auswählen

menuentry "Debian Bullseye Mate" {
	insmod chain
	insmod ext2
	set root=(hd0,gpt1)
	chainloader +1
}

Code: Alles auswählen

error - invalid signature

willy4711

Re: [Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 26.07.2020 00:06:59

Und das lässt ohne Fehlermeldung das Grubmenü wieder erscheinen

Code: Alles auswählen

menuentry "Debian Bullseye Mate" {
	insmod chain
	insmod part_gpt
	insmod ext2
	chainloader (hd0)+1
}

willy4711

Re: [Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 26.07.2020 00:14:30

Das ergibt:

Code: Alles auswählen

menuentry "Debian Bullseye Mate" {
	insmod chain
	insmod part_gpt
	insmod ext2
	set root=(hd0,1)		
	chainloader +1
}

Code: Alles auswählen

error - invalid signature
Jetzt hab ich erstmal keine Lust mehr :twisted:

willy4711

Re: [Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 26.07.2020 00:38:08

@smutbert
hatte jetzt nochmal deinen Vorschlag ohne chainloader getestet

Code: Alles auswählen

menuentry "Debian Bullseye Mate" {
	insmod part_gpt
	insmod ext2
	search --no-floppy --fs-uuid --set=root  f8e37245-8f05-4fb5-93bc-e76299146c13
	configfile /boot/grub/grub.cfg
}
Ergebnis:

Code: Alles auswählen

error - invalid signature

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: [Halb - Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von smutbert » 28.07.2020 00:40:19

Entschuldige habe den Thread vergessen und jetzt weiß ich gar nicht wo ich anfangen soll....

Dass (hd0), (hd0,gpt1),... nicht in der grub.cfg auftauchen ist ganz normal. Man kann sich nicht darauf verlassen, dass die Nummerierung gleich bleibt, weswegen in der grub.cfg die Partitionen nur anhand ihrer Dateisystem-UUID identifiziert werden.


Dann der Reihe nach deine Versuche, ich greif mir jedes Mal deine entscheidenden Zeilen heraus:

Code: Alles auswählen

set root=(hd0,gpt1)
chainloader +1
Das lädt den Bootcode aus dem Partitionbootsektor (PBR) der ersten Partition (bzw. hast du es auch mit der dritten versucht) der ersten Platte. Das führt meist zu nichts, weil grub normalerweise in den MBR, also den Bootsektor der kompletten Festplatte und nicht einer Partition geschrieben wird. In den PBRs stehen also meist entweder lauter Nullen oder Datenmüll, aber jedenfalls kein gültiger Bootcode.


Code: Alles auswählen

chainloader (hd0)+1
Das lädt den Bootcode aus dem MBR der ersten Festplatte, also noch einmal den grub, der eh gerade gestartet wurde. Funktioniert, ist aber normalerweise sinnlos.


Code: Alles auswählen

set root=(hd0,1)		
chainloader +1
(hd0,1) ist keine Partition, die erste Partition der ersten Festplatte trägt in grub den Namen (hd0,gpt1).



Fehlt noch der letzte Vorschlag von mir

Code: Alles auswählen

search --no-floppy --fs-uuid --set=root  f8e37245-8f05-4fb5-93bc-e76299146c13
configfile /boot/grub/grub.cfg
Da weiß ich noch nicht was schief läuft.
Das /-Dateisytem von deiner „Bullseye Mate-Installation“ hat f8e37245-8f05-4fb5-93bc-e76299146c13 als UUID, richtig?
Und es hat keine eigene /boot-Partition, richtig?
Mit welchem Dateisystem ist die Partition formatiert?
(Du kannst auch einfach die Ausgabe von blkid posten.)

willy4711

Re: [Halb - Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von willy4711 » 28.07.2020 11:34:17

Hallo smutbert,
smutbert hat geschrieben: ↑ zum Beitrag ↑
28.07.2020 00:40:19
Dass (hd0), (hd0,gpt1),... nicht in der grub.cfg auftauchen ist ganz normal. Man kann sich nicht darauf verlassen, dass die Nummerierung gleich bleibt, weswegen in der grub.cfg die Partitionen nur anhand ihrer Dateisystem-UUID identifiziert werden.
Naja, als ich noch meine Scheiben / SSD's mit ms-dos formatiert hatte, erschien das mit set root= 'hdx,msdosx'
zumindest in der grub.conf, jetzt aber nicht mehr siehe NoPaste-Eintrag41097

Das mit der hd0 ist wohl der fortgeschrittenen Stunde und einem Glas Bier zu viel zuzuschreiben :facepalm: :facepalm:

Habe jetzt nochmal die ganzen Varianten mit hd1 / hd1,1 / hd1, gpt1 / usw durch getestet.
Die einzigste Variation, wo nicht gleich ne Fehlermeldung kam (meist falsche Signatur)
War diese:

Code: Alles auswählen

menuentry "Debian Bullseye Mate" {
        insmod chain
        insmod ext2
        set root=(hd1)          
        chainloader +1
}
Das gab einen schwarzen Bildschirm mir blinkendem Cursor :roll: :cry:

Folgende, von deinem Vorschlag etwas verkürzte Variante, funktioniert auch.
Sollten jetzt nicht noch andere Vorschläge kommen, werde ich diese wohl beibehalten.

Code: Alles auswählen

menuentry "Debian Bullseye Mate" {
        insmod ext2
        search --fs-uuid --no-floppy --set=root f8e37245-8f05-4fb5-93bc-e76299146c13
        configfile /boot/grub/grub.cfg
        chainloader +1
}
Das Ansprechen von nvme -ssd's scheint offensichtlich nur über die UUID zu funktionieren.
Vielleicht ist das set root=(hd1) auch nur noch ein Dummy aus irgendwelchen Kompatibilitäts- Gründen, das
eh keine Bedeutung mehr hat ?
Es ist halt etwas verwirrend, wenn es dann plötzlich nicht mehr vorhanden ist.
Zuletzt geändert von willy4711 am 29.07.2020 10:11:56, insgesamt 2-mal geändert.

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: [Halb - Gelöst] Grub: /etc/grub.d/40_custom ---->Chainloder anderen Grub

Beitrag von smutbert » 29.07.2020 00:05:56

Dass die Kombination aus configfile und chainloader funktioniert, aber keines von beiden alleine, will mir nicht einleuchten (und ist mir ein Dorn im Auge), aber solange ich keine Idee habe woran das liegen könnte, kann ich leider keinen anderen Vorschlag bieten.

Antworten