Ersatz für Grub-customizer?

Gerne doch :slight_smile: Aber vorher muss ich herausfinden, wie man das überhaupt hinbekommt doppelte Einträge angezeigt zu bekommen. Hatte das noch nie gehabt, und ich konnte bisher nicht herleiten, wie es dazu kommt…

Also @Manfrago, wie bekommt man doppelte Einträge?

1 Like

Hallo,

Kopie erstellen
cp /boot/grub/grub.cfg /boot/grub/grub.cfg_ori

cat /boot/grub/grub.cfg | grep menuentry
falls dort doppelte Einträge sind, kannst Du sie Austragen mit einer # vor der Zeile oder löschen.

Ein Eintrag geht von
}
menuentry
bis die nächste
}

kommt.

nano /boot/grub/grub.cfg
update-grub

1 Like

Ich kann gerne beschreiben, wie das mit den Mehrfacheinträgen bei mir manchmal abläuft - aber es scheint durchaus noch mehr Möglichkeiten zu geben. Es passiert das am häufigsten, wenn ich auf einer Workstation mittels Wechsellaufwerk weitere Betriebssystemdatenträger eingelegt habe. Kommt dann zwischenzeitlich auf dem Hauptsystem ein Update rein, welches Einfluss auf den Grub nimmt, dann ist es schon mehrfach vorgekommen, das plötzlich im Multiboot Mehrfacheinträge für Windows, Manjaro oder Mint - nebst auch unterschiedliche Menübezeichnugen zu verzeichnen sind. Die unsinnigen Einträge bleiben leider auch dann bestehen, nachdem man den zusätzlichen Betriebssystemdatenträger entnommen hat und sudo update-grub erneut ausführt.

cat /boot/grub/grub.cfg | grep menuentry
if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
  menuentry_id_option=""
export menuentry_id_option
menuentry 'Manjaro Linux' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
submenu 'Advanced options for Manjaro Linux' $menuentry_id_option 'gnulinux-advanced-6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
	menuentry 'Manjaro Linux (Kernel: 4.19.163-1-MANJARO x64)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.163-1-MANJARO x64-advanced-6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
	menuentry 'Manjaro Linux (Kernel: 4.19.163-1-MANJARO x64 - fallback initramfs)' --class manjaro --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.163-1-MANJARO x64-fallback-6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
menuentry 'Windows 10 (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-AC18C1A118C16B42' {
menuentry 'Manjaro Linux (20.2) (on /dev/sdc1)' --class manjarolinux --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
submenu 'Advanced options for Manjaro Linux (20.2) (on /dev/sdc1)' $menuentry_id_option 'osprober-gnulinux-advanced-6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
	menuentry 'Manjaro Linux (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.19-x86_64--6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
	menuentry 'Manjaro Linux (Kernel 4.19.163-1-MANJARO x64) (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.19-x86_64--6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
	menuentry 'Manjaro Linux (Kernel 4.19.163-1-MANJARO x64 - fallback initramfs) (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.19-x86_64--6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
	menuentry 'Manjaro Linux (Kernel 4.19.163-1-MANJARO x64) (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.19-x86_64--6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
	menuentry 'Manjaro Linux (Kernel 4.19.163-1-MANJARO x64 - fallback initramfs) (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.19-x86_64--6ac53e3f-aae1-4d11-960c-6af9172d17f7' {
	menuentry 'Memory Tester (memtest86+) (on /dev/sdc1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/memtest86+/memtest.bin--6ac53e3f-aae1-4d11-960c-6af9172d17f7' {

Also eigentlich würde ich da einfach die /boot/grub/grub.cfg löschen und neu erstellen sudo grub-mkconfig -o /boot/grub/grub.cfg … Da grub-mkconfig meines wissens nicht überschreibt, sondern hinzufügt, muss die Datei vorher gelöscht werden. oder?

In der sind doch doppelte drin. Manjaro auf sdc1.

Wie geschrieben, einfach die doppelten rausnehmen…

Das ist ein ganzer Eintrag der raus muss

Hallo megavolt,

sudo grub-mkconfig -o ...
überschreibt.
Insofern braucht man /boot/grub/grub.cfg nicht zu löschen. Deshalb scheint mir grub-mkconfig -o der simpelste Weg zu sein.

viele Grüße gosia

1 Like

Hallo @gosia,

dann frage ich mich tatsächlich warum es bei @Manfrago nicht funktioniert? Er hat ja sudo update-grub ausgeführt:

und update-grub enthält:

$ cat $(which update-grub)
#! /bin/sh
grub-mkconfig -o /boot/grub/grub.cfg

:thinking:

Und das soll einfacher sein als ein Tool in dem ich meine Änderungen vornehme und dann auf speichern drücke?

Bei einer Anwendung starte ich die Anwendung, stelle die Reihenfolge, Hintergründe, Farben, Schriften etc ein und brauche dafür kein weiteres Wissen. Es gelingt.

Wenn ich in einem Texteditor etwas ändere, dann muß ich wissen wo welche Daten liegen.
Ich muß wissen welche Daten was bedeuten.
Ich muß wissen welche Daten davon kann ich wie ändern.
Von wo bis wo kann ich löschen.
Ich muß Bezeichnungen wissen und Pfade von Daten die ich einbinden möchte ( z.B. Hintergründe )
Ich muß eventuelle Anschlußbefehle kennen ( z.B grub-mkconfig und sein Parameter ).

Da die meisten keine weitere Ahnung vom System haben, gehen Sie das Risiko einer Fehleingabe ( mit allen Nebenwirkungen ) ein und somit auch den Verlust des Zugangs zum Betriebssystem.

Da wünschte ich mir lieber ein vernünftiges Tool, das die Arbeit einfach und präzise erledigt.

Auch wenn ich die laufende Diskussion um Tool oder nicht störe, kann mir mal jemand sagen ob ich mit meiner Einschätzung richtig liege und was ich als nächstes tun muß damit ich meinen Laptop wieder nutzen kann?

Wer machts?
.
EDIT: also niemand. Aber rum meckern. s.u. / qed

Wo genau hakt es denn noch?

Ja es ist einfach und direkt… aber was du weiter beschreibst ist eher “benutzerfreundlich”.

Es ist ok, wenn du lieber ein 0815 Ikea Schrank aufbauen willst, was eigentlich selbsterklärend ist, die auch eine bebilderte Anleitung hat, damit es jeder Honk versteht (selbst da verzweifeln einige dran). Aber da es dann vordefinierte “Bausteine” sind, ist es sehr unflexibel, wenn du was verändern willst oder erweitern.

Einfach ist es, wenn du Vorkenntnisse hast oder ein Handwerker-Handbuch zur Hand hast, wie ein Schrank gebaut wird. Du gehst in den Baumarkt, holst dir die Einzelteile, hast das Werkzeug und baust dir deinen Schrank genau so wie du es haben willst. Andere bestaunen deinen Schrank und wollen auch so einen… nun hast machst du eine Anleitung, wie andere andere deinen Schrank nachbauen können…

So in etwa… auf jeden Fall jeder so wie er/sie möchte. Ich hasse Ikea Schränke :stuck_out_tongue:

Das lässt sich entweder mittels Setzen von

GRUB_DISABLE_OS_PROBER=true

oder durch Angabe auszulassender Dateisysteme mittels Angabe zugehöriger UUIDS’s beim Setzen des Parameters

GRUB_OS_PROBER_SKIP_LIST

in /etc/default/grub vermeiden., siehe GRUB Manual.

Das heißt empfehlenswerte Vorgehensweise:

  1. Ursachen für Doppeleinträge beseitigen
  2. /etc/default/grub richtig konfigurieren
  3. Falls unbedingt nötig mit den Dateien in /etc/grub.d arbeiten.
1 Like

Im Moment weiß ich zwar, das ich noch einiges an Nvidia-Dateien im System habe, aber leider nicht was ich nun machen soll.

Soll ich diese Dateien einfach löschen oder muß ich dabei einen bestimmten Weg einhalten?
Muß ich den Nvidiatreiber deinstallieren und den Nouveau- Treiber installieren und wenn ja, wie?

Und wenn nein, was dann ?

Das mag sein - aber trotzdem bauen viele Schränke - ohne Tischlerausbildung, aber mit einer vernünftigen Anleitung.
Hier sehe ich aber nur die vorausgesetzte Tischlerausbildung - und das ist Schade.

Guck mal in den Thread “Was tun vor Aktuellen update…” hier. Da steht eigentlich alles zu den NVidia Treibern usw drin.

Sorry, aber das ist nun wirklich quatsch. Alle Linux-User haben mal klein angefangen. Man sollte die Bereitschaft mitbringen, etwas dazuzulernen und sich dabei auch mal etwas anstrengen, beispielsweise sich zu überlegen, wie und wo man Gelerntes ablegt, wie und wo man Antworten zu Fragen selber finden kann (da gibt es bei Linux nämlch sehr viele gute Quellen) und dann wird man mit etwas gutem Willen von ganz alleine Experte, wenn man dran bleibt.

1 Like

Hallo megavolt,
dass grub-mkconfig -o überschreibt, kannst Du ja leicht beim zweimaligen Ausführen sehen. Ich habe einfach mal diesen 3-Zeiler dazu benutzt:
g=/tmp/grub.cfg; sudo grub-mkconfig -o $g 2> /dev/null; wc -l $g
bei mir kommen jedesmal 311 Zeilen raus. Aber wie gesagt, kann man sich auch unkomplizierter davon überzeugen.

gute Frage. Eine Möglichkeit wäre es, da ja grub-mkconfig die Dateien in /etc/grub.d/ einliest, und die könnten durchaus durch den ebenfalls benutzten grub-customizer etwas “verunstaltet” sein. Aber das ist blosses “hörensagen” :wink:
Mit anderen Worten: Ich kann es aus der Ferne nicht beantworten.

Sorry R. Lehmeier, da kann ich mir die boshafte Randbemerkung nicht ersparen, dass dies genau eines der Probleme ist (ganz allgemein). Man möchte ohne zeitaufwendiges Lernen und Wissen anzueignen über die Runden kommen und merkt nicht, dass man die vermutlich eingesparte Lernzeit durch die Zeit, die man dann bei der Problemsuche aufwenden muss, mehrfach wieder verliert.

viele Grüße gosia

1 Like

Wird anscheind auch so gemacht. grub-mkconfig ist auch ein Script.
Auszug…

for i in “${grub_mkconfig_dir}”/* ; do