Benutzt os-prober UUID oder Devicenamen fürs Menü?

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Benutzt os-prober UUID oder Devicenamen fürs Menü?

Beitrag von schwedenmann » 11.09.2022 10:23:12

Hallo



Sind die mit os-prober generierten Menüeinträge auf UUID oder auf z.B. /dev/sda8 zugeschnitten ?

ich habe hier nämlich an 2 Multibootpc mit jeweils 2 HDD teilweise Bootprobleme mit den generierten Menüeinträgen. Je nachdem,ob sda + sdb im Bios und damit für ds Os vertauscht sind,funktionieren die mit os-prober generierten Einträge nicht. ich lande dann quasi in einer minishell mit giving up searching for sdb8 und dann kommt nur noch initramfs> und das wars dann.


ich weiß jetzt nu nicht,ob os-prober oder die initramfs dafür verantwortlich ist.

Wenn ich jedoch in custom_40 eigene menüeinträge nach folgendem Schema definiere:
menuentry "Merlin_custom40" {
insmod part_msdos
set root='(hd0,8)'
search --no-floppy --fs-uuid --set bb66c506-24da-49f1-910f-aa9fb66b4ae2
linux /boot/vmlinuz-5.19.0-1-amd64 root=UUID=bb66c506-24da-49f1-910f-aa9fb66b4ae2
initrd /boot/initrd.img-5.19.0-1-amd64
}
man beachte die Zeile mit linux /boot/....
In /boot/grub/grub.cfg sieht die mit os-prober erzeugte Menüeontrag nämlich so aus
menuentry 'Debian GNU/Linux bookworm/sid (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz--bb66c506-24da-49f1-910f-aa9fb66b4ae2' {
insmod part_msdos
insmod ext2
set root='hd0,msdos8'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 bb66c506-24da-49f1-910f-aa9fb66b4ae2
else
search --no-floppy --fs-uuid --set=root bb66c506-24da-49f1-910f-aa9fb66b4ae2
fi
linux /vmlinuz root=/dev/sda8
initrd /initrd.img
Man beachte jetzt die linux-Zeile,dr steht sda8

Mit den custom_40 Einträgen klappt das booten,egal ob sda = sda oder sda= sdb ist. bei os-prober klappt dass je nach hdd-Initialisierung eben nicht.

Liegt das jetzt an os-prober, oder ist die initramfs dafür verantwortlich ?


mfg
schwedenmann
Zuletzt geändert von Meillo am 13.09.2022 10:39:02, insgesamt 1-mal geändert.
Grund: Rechtschreibung im Titel

Benutzeravatar
grubenlicht
Beiträge: 422
Registriert: 10.06.2021 22:35:56

Re: benutzt os-prober UUID oder devivenamen fürs menü ?

Beitrag von grubenlicht » 11.09.2022 10:55:42

os-prober ist doch ohnehin für unsicher erklärt und abgeschaltet (?!)
Ich verwende ausschließlich Einträge dieser Art in der 40_custom

Code: Alles auswählen

menuentry "Mein O/S (SymLink)" {
	search --fs-uuid --set=root <UUID>
	linux /Pfad/vmlinuz root=UUID=<UUID> ro
	initrd /Pfad/initrd.img
}
oder gleich nur einen stand-alone grub, bei dem ich sowieso alles händisch in die grub.cfg eintrage.
Wenn ich denn mal auch einen älteren kernel booten möchte/muß, gibt es auch noch menuentry mit configfile /Pfad/grub.cfg

AxelMD
Beiträge: 1381
Registriert: 15.03.2009 08:02:11

Re: benutzt os-prober UUID oder devivenamen fürs menü ?

Beitrag von AxelMD » 13.09.2022 10:09:36

Hallo schwedenamann

os_prober kannst Du wie folgt wieder einschalten.

/etc/default/grub
die folgende Zeile hinzfügen:

Code: Alles auswählen

GRUB_DISABLE_OS_PROBER=false
dann

Code: Alles auswählen

update-grub
Der Devicename ist veränderbar, die UUID bezeichnet die Partition genauer.

Wenn dir der neue Eintrag zu unsicher ist, kannst Du diesen, nach Ausführung von update-grub wieder deaktivieren.

MfG
AxelMD

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: benutzt os-prober UUID oder devivenamen fürs menü ?

Beitrag von schwedenmann » 13.09.2022 10:27:24

Hallo


@AxelMD
Der Devicename ist veränderbar, die UUID bezeichnet die Partition genauer.
Ist schon kler,abr os-prober pririsiert anscheienend den devicenamne,das ist bei 2HDD im PC dann ein Problem,weil dann Eintäge a la /dev/sda5 und /dev/sdb5 erntstehen,wodurch ein system auf sda5 bei einem Eintrag auf sdb5 nicht mehr bootbar ist.

Deshalb meine Ferage ob devicenamen oder UUID von os-prober genommen werden.

Nur deshalb habe ichn os-prober abgeschaltet,dier Siherheitsbedenken intersiieren mcih in dem fall absolut nicht,sind mir wurscht!

mfg
schwedenmann

AxelMD
Beiträge: 1381
Registriert: 15.03.2009 08:02:11

Re: benutzt os-prober UUID oder devivenamen fürs menü ?

Beitrag von AxelMD » 13.09.2022 10:34:14

Ich würde mich auf die UUID festlegen.

Spätestens, wenn Du die HDD's wechseln solltest gibt es sonst evtl. Probleme.
UEFI verkompliziert zusätzlich, UEFI nutzt UUID's.

Du darfst auch nur eine UEFI Partion im Gesamt System haben.

Wechselst, tauschst Du die HDD's aus, muss die uefi Partition der Austausch-HDD die UUID der zuvor verbauten HDD haben.
Ist schon kler,abr os-prober priorisiert anscheienend den devicenamne,das ist bei 2HDD im PC dann ein Problem,weil dann Eintäge a la /dev/sda5 und /dev/sdb5 erntstehen,
Die Erfahrung habe ich bisher nicht gemacht.
man beachte die Zeile mit linux /boot/....
In /boot/grub/grub.cfg sieht die mit os-prober erzeugte Menüeontrag nämlich so aus

menuentry 'Debian GNU/Linux bookworm/sid (on /dev/sda8)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/vmlinuz--bb66c506-24da-49f1-910f-aa9fb66b4ae2' {
insmod part_msdos
insmod ext2
set root='hd0,msdos8'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos8 --hint-efi=hd0,msdos8 --hint-baremetal=ahci0,msdos8 bb66c506-24da-49f1-910f-aa9fb66b4ae2
else
search --no-floppy --fs-uuid --set=root bb66c506-24da-49f1-910f-aa9fb66b4ae2
fi
linux /vmlinuz root=/dev/sda8
initrd /initrd.img

Man beachte jetzt die linux-Zeile,dr steht sda8
Da kannst Du eintragen (Fettschrift) was Du willst.
Das ist völlig ohne Bedeutung, nur ein Hinweis für dich, Weihnachtsmann kannst Du dort auch eintragen.
Wenn Debian sid das so generiert, dann liegt es an Debian sid.
Weiter unten werden nur UUID's verwendet.

Wobei die Zeile "linux /vmlinuz root=/dev/sda8", wieso da wieder sda8?
Evtl. ein Bug in Debian sid?

Vermutlich nicht, bei mir sieht es genauso aus.
Eine Erklärung habe ich leider nicht.

Du hast dein Gesamtsystem nicht beschrieben.
Ich weiß nicht mal ob Du UEFI verwendest oder nicht.

Benutzeravatar
grubenlicht
Beiträge: 422
Registriert: 10.06.2021 22:35:56

Re: Benutzt os-prober UUID oder Devicenamen fürs Menü?

Beitrag von grubenlicht » 13.09.2022 13:51:10

Der "Fehler", den os-prober hier macht – vermutlich durch die zig Bedingungen innerhalb von Bedingungen innerhalb von Bedingungen, Rucksackprogrammiererei halt – ist der falsche Pfad zum vmlinuz (/boot/vmlinuz <=> /vmlinuz). Hinzu kommt die root= Anweisung.

@AxelMD: Wie kommst du auf
UEFI verkompliziert zusätzlich, UEFI nutzt UUID's.
? Die Fehler hier entstehen ausschließlich in grub, egal, ob jetzt grub-pc oder grub-efi. Und auch
Du darfst auch nur eine UEFI Partion im Gesamt System haben.
stimmt so nicht (s. z.B. -> Mehrbootsystem_mit_2x_Ubuntu, oder auch ganz einfach Windows auf GPT, LiveUSB (Hybrid iso mit dd erzeugt), schon hast du 2x ESP!)
Schwierig wird es erst, wenn auf einem device mehrere ESP vorhanden sind, aber die Markierung esp läßt sich ja leicht manipulieren.

EDIT.: Ich habe noch das hier im Arch Wiki gefunden 3.1.2
Note:

The exact mount point does not matter, os-prober reads the mtab to identify places to search for bootable entries.
Remember to mount the partitions each time you run grub-mkconfig in order to include the other operating systems every time.
Zuletzt geändert von grubenlicht am 13.09.2022 14:41:58, insgesamt 1-mal geändert.

AxelMD
Beiträge: 1381
Registriert: 15.03.2009 08:02:11

Re: Benutzt os-prober UUID oder Devicenamen fürs Menü?

Beitrag von AxelMD » 13.09.2022 14:26:06

Auf meinem System hatte ich temporär zwei HDD's eingebaut, beide mit EFI Partition.
Mein UEFI ist dann durcheinander gekommen.
Ich war nicht Herr über das System.
stimmt so nicht (s. z.B. -> Mehrbootsystem_mit_2x_Ubuntu, oder auch ganz einfach Windows auf GPT, LiveUSB (Hybrid iso mit dd erzeugt), schon hast du 2x ESP!
Auf solche komplexen Installationen, Systeme versuche ich zu verzichten.
Ich brauche nicht zwingend 2 ESP um mehrere Systeme auf einer HDD zu haben.
Der "Fehler", den os-prober hier macht – vermutlich durch die zig Bedingungen innerhalb von Bedingungen innerhalb von Bedingungen, Rucksackprogrammiererei halt – ist der falsche Pfad zum vmlinuz (/boot/vmlinuz <=> /vmlinuz)
Den Fehler gibt es schon länger, wenn es denn ein Fehler ist.
Auf jeden Fall ist es unschön mit dem linux /vmlinuz root=/dev/sdax , schöner wäre eine UUID.

Mir ist das bis jetzt noch nie aufgefallen. Probleme hatte ich diesbezüglich auch nicht.

Benutzeravatar
grubenlicht
Beiträge: 422
Registriert: 10.06.2021 22:35:56

Re: Benutzt os-prober UUID oder Devicenamen fürs Menü?

Beitrag von grubenlicht » 15.09.2022 11:18:21

AxelMD hat geschrieben: ↑ zum Beitrag ↑
13.09.2022 14:26:06
Auf jeden Fall ist es unschön mit dem linux /vmlinuz root=/dev/sdax , schöner wäre eine UUID.
ähem, richtig hinsehen mußt du schon, der "Fehler" ist nicht
– 'device' statt UUID,
sondern
– linux /vmlinuz root=… statt linux /boot/vmlinuz root=

Antworten