|
Langolier
Anmeldungsdatum: 16. September 2019
Beiträge: 37
|
Hallo zusammen, seit dem Umstieg auf 26.04 (kein Dualboot-System) erscheint bei ca. jedem 2. Bootvorgang zunächst das Grub-Menü mit 30 Sekunden Timeout. Vorher mit 24.04 auf dem Rechner war das nicht so. Im Grub-Skript habe ich einen 30 Sekunden Timeout nur im Zusammenhang mit "recordfail" gefunden. Kann das noch einen anderen Grund haben und wenn ja, welchen? Hinsichtlich Recordfail habe ich auf einigen Webseiten z.B. https://nelsonslog.wordpress.com/2022/08/16/grub-recordfail-30-seconds/ und https://docs.hetzner.com/de/robot/dedicated-server/operating-systems/deactivate-grub2-recordfail/ entsprechende Hinweise gefunden, die sich jedoch auf ältere Linux-Versionen beziehen. Gelten die auch für 26.04 ? Gruß
Langolier
|
|
schwarzheit
Supporter
Anmeldungsdatum: 31. Dezember 2007
Beiträge: 9197
|
Und? Wir sollen jetzt raten wie deine Grub config aussieht? Führe folgenden Befehl in einem Terminal aus und zeige uns die vollständige Ein- und Ausgabe hier im Forum als Codeblock formatiert:
cat /etc/default/grub
(Benutze Kopieren
Strg +
C und Einfügen
Strg +
V . Im Terminal braucht es zusätzlich die
⇧ -Taste.)
|
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 10366
Wohnort: Münster
|
Langolier schrieb: […] Im Grub-Skript habe ich einen 30 Sekunden Timeout nur im Zusammenhang mit "recordfail" gefunden.
Damit bist Du vermutlich schon auf der richtigen Fährte.
Kann das noch einen anderen Grund haben und wenn ja, welchen?
Wenn es keine andere Stelle gibt, die die Variable auf 30 setzt, nein.
Hinsichtlich Recordfail habe ich auf einigen Webseiten z.B. https://nelsonslog.wordpress.com/2022/08/16/grub-recordfail-30-seconds/ und https://docs.hetzner.com/de/robot/dedicated-server/operating-systems/deactivate-grub2-recordfail/ entsprechende Hinweise gefunden, die sich jedoch auf ältere Linux-Versionen beziehen. Gelten die auch für 26.04 ?
Du traust uns also zu, verbindlich etwas über das zu sagen, was andere Leute an anderer Stelle gesagt haben und noch besser, wir sollen beurteilen, ob fremde Aussagen auch für die Zukunft gelten? Vielen Dank für Dein Vertrauen in die Fähigkeiten der Helfer bei UbuntuUsers, aber ehrlicherweise ist das nicht realistisch. Wir sind nicht allwissend, auch wenn das manchmal realitätsfern vermutet wird. Zeige aus dem gestarteten System: findmnt -lt vfat
|
|
Langolier
(Themenstarter)
Anmeldungsdatum: 16. September 2019
Beiträge: 37
|
Grub config:
:~$ cat /etc/default/grub
# If you change this file or any /etc/default/grub.d/*.cfg file,
# run 'update-grub' afterwards to update /boot/grub/grub.cfg.
# For full documentation of the options in these files, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR='Kubuntu'
GRUB_CMDLINE_LINUX_DEFAULT='quiet splash'
GRUB_CMDLINE_LINUX=""
# If your computer has multiple operating systems installed, then you
# probably want to run os-prober. However, if your computer is a host
# for guest OSes installed via LVM or raw disk devices, running
# os-prober can cause damage to those guest OSes as it mounts
# filesystems to look for things.
#GRUB_DISABLE_OS_PROBER=false
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE/GOP/UGA
# you can see them in real GRUB with the command `videoinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1" Aus dem gestarteten System:
:~$ findmnt -lt vfat
TARGET SOURCE FSTYPE OPTIONS
/boot/efi /dev/sda1 vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro kB schrieb: Du traust uns also zu, verbindlich etwas über das zu sagen, was andere Leute an anderer Stelle gesagt haben und noch besser, wir sollen beurteilen, ob fremde Aussagen auch für die Zukunft gelten?
Ich habe nur Fragen gestellt und es könnte ja sein, dass hier jemand die Antworten kennt oder Hinweise geben kann. Wenn das nicht der Fall ist, ist das völlig in Ordnung. kB schrieb: Vielen Dank für Dein Vertrauen in die Fähigkeiten der Helfer bei UbuntuUsers, aber ehrlicherweise ist das nicht realistisch. Wir sind nicht allwissend, auch wenn das manchmal realitätsfern vermutet wird.
Keine Sorge, ich vermute nicht, dass hier jemand allwissend ist.
|
|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 6420
|
Das muss ja eine Ursache haben, warum Grub ein fehlgeschlagenen Bootversuch aufgezeichnet hat und entsprechend dann das GRUB Menü aktiviert. Ich boote ohne das Plymouth Bildchen, habe den Systemd plymouth-start.service maskiert, so sehe ich dann immer auf dem TTY, was beim Startvorgang passiert. Überdies fällt das bei mir auch direkt anhand der niedrigen Auflösung im TTY-Modus während des Bootvorgangs auf, falls der vorige Bootvorgang abgebrochen wurde, oder fehlschlug, und die GRUB recordfail Funktion aktiv wurde. Wenn man das journald Log nicht wegschmeißt, wie beispielsweise Logs nur ins tmpfs schreiben lässt, dann ließe sich auch im journald Log nachschauen, was passiert ist. Im Wiki gibts was zu lesen:
|
|
Patsche
Anmeldungsdatum: 10. Juli 2012
Beiträge: 652
Wohnort: /Kiel/home/
|
Du kannst mal die Ausgaben von
und
zeigen. Nutzt du LVM oder eine Verschlüsselung?
|
|
Langolier
(Themenstarter)
Anmeldungsdatum: 16. September 2019
Beiträge: 37
|
Der Rechner bootet normal - abgesehen vom Auftauchen des Grub-Menüs - und fährt auch wieder herunter. Hinsichtlich Journal ist die Frage, wonach ich suchen muss Mit "fail" als Suchbegriff findet sich das hier:
11.05.26 14:23 sddm-helper Failed to write utmpx: Datei oder Verzeichnis nicht gefunden LVM wird nicht genutzt und die Laufwerke (1x System und 1x Daten) sind nicht verschlüsselt.
:~$ journalctl -b 0 -p 3 -e
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
Mai 11 14:23:27 ortis kernel: x86/cpu: SGX disabled or unsupported by BIOS.
Mai 11 14:23:40 ortis org_kde_powerdevil[1730]: [ 1730] Error(s) opening ddc devices
Mai 11 14:23:40 ortis org_kde_powerdevil[1730]: [ 1730] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-1
Mai 11 14:23:40 ortis org_kde_powerdevil[1730]: [ 1730] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-2
Mai 11 14:23:40 ortis org_kde_powerdevil[1730]: [ 1730] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-3
Mai 11 14:23:40 ortis org_kde_powerdevil[1730]: [ 1730] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-4
Mai 11 14:23:40 ortis org_kde_powerdevil[1730]: [ 1730] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-5
Mai 11 14:23:40 ortis org_kde_powerdevil[1730]: [ 1730] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-6
Mai 11 14:23:40 ortis obexd[1817]: Unable to acquire registry: Error calling StartServiceByName for org.gnome.evolution.dataserver.Sources5: Unit evolutio>
Mai 11 14:23:40 ortis obexd[1817]: Unable to acquire registry: Error calling StartServiceByName for org.gnome.evolution.dataserver.Sources5: Unit evolutio>
lines 1-10/10 (END) :~$ journalctl -b -1 -p 3 -e
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
~
Mai 11 07:45:15 ortis kernel: x86/cpu: SGX disabled or unsupported by BIOS.
Mai 11 07:45:35 ortis org_kde_powerdevil[1755]: [ 1755] Error(s) opening ddc devices
Mai 11 07:45:35 ortis org_kde_powerdevil[1755]: [ 1755] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-1
Mai 11 07:45:35 ortis org_kde_powerdevil[1755]: [ 1755] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-2
Mai 11 07:45:35 ortis org_kde_powerdevil[1755]: [ 1755] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-3
Mai 11 07:45:35 ortis org_kde_powerdevil[1755]: [ 1755] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-4
Mai 11 07:45:35 ortis org_kde_powerdevil[1755]: [ 1755] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-5
Mai 11 07:45:35 ortis org_kde_powerdevil[1755]: [ 1755] Error EACCES(-13): Keine Berechtigung opening /dev/i2c-6
Mai 11 07:45:36 ortis obexd[1838]: Unable to acquire registry: Error calling StartServiceByName for org.gnome.evolution.dataserver.Sources5: Unit evolutio>
Mai 11 07:45:36 ortis obexd[1838]: Unable to acquire registry: Error calling StartServiceByName for org.gnome.evolution.dataserver.Sources5: Unit evolutio>
lines 1-10/10 (END)
|
|
Patsche
Anmeldungsdatum: 10. Juli 2012
Beiträge: 652
Wohnort: /Kiel/home/
|
In deinem System sind jedenfalls keine Fehler, die das Booten so beeinflussen, dass grub deine Timeoutzeit ignoriert.
Probiere mal die Zeile in deine /etc/default/grub hinzuzufügen:
GRUB_RECORDFAIL_TIMEOUT=0
und danach nicht vergessen
auszuführen. Edit:
Zeige bitte auch mal die Ausgabe von
|
|
trollsportverein
Anmeldungsdatum: 21. Oktober 2010
Beiträge: 6420
|
Bei mir schnüffelt der org_kde_powerdevil über den i2c Bus auf meiner Nvidia Grafikkarte mit Maxwell2 GPU, die mittels properitärem nvidia-driver-580 läuft, an den Ausgängen der Grafikkarte herum, und guckt, wo was angeschlossen ist. ddc ist auch ein Hinweis auf den Display Data Channel, über den die Eigenschaften und Möglichkeiten des Monitors ausgelesen werden.
obexd ist ein Daemon für Datenübertragung via Bluetooth.
|
|
Lidux
Anmeldungsdatum: 18. April 2007
Beiträge: 17143
|
Hallo Langolier, Firmware des BIOS / EFI aktuell ? Gruss Lidux
|
|
Langolier
(Themenstarter)
Anmeldungsdatum: 16. September 2019
Beiträge: 37
|
Lidux schrieb: Firmware des BIOS / EFI aktuell ?
Ja, ist aktuell. Patsche schrieb: In deinem System sind jedenfalls keine Fehler, die das Booten so beeinflussen, dass grub deine Timeoutzeit ignoriert.
Probiere mal die Zeile in deine /etc/default/grub hinzuzufügen:
GRUB_RECORDFAIL_TIMEOUT=0
Das wollte ich ohnehin probieren - allerdings mit einem Timeout von 5 Sekunden. Timeout=0 scheint mir für den Fehlerfall suboptimal. Patsche schrieb: Edit:
Zeige bitte auch mal die Ausgabe von
~$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 squashfs 4.0 0 100% /snap/bare/5
loop1 squashfs 4.0 0 100% /snap/core24/1587
loop2 squashfs 4.0 0 100% /snap/gnome-46-2404/153
loop3 squashfs 4.0 0 100% /snap/gtk-common-themes/1535
loop4 squashfs 4.0 0 100% /snap/gtk-theme-breeze/8
loop5 squashfs 4.0 0 100% /snap/mesa-2404/1165
loop6 squashfs 4.0 0 100% /snap/icon-theme-breeze/5
loop7 squashfs 4.0 0 100% /snap/snapd/26865
loop9 squashfs 4.0 0 100% /snap/thunderbird/1093
loop10 squashfs 4.0 0 100% /snap/thunderbird/1104
sda
├─sda1 vfat FAT32 7A81-294F 291,3M 3% /boot/efi
└─sda2 ext4 1.0 kubuntu_2604 8b26bdcb-011e-4921-9749-e0bb56715fc1 97,3G 11% /
nvme0n1
└─nvme0n1p1 ext4 1.0 Data 728f5d80-760a-4eb4-9dc3-8310efb17800 170,9G 22% /home/orti/Daten
SDA ist eine SATA-SSD mit dem Betriebssystem, auf der bis vor 1 Woche noch Kubuntu 24.04 installiert war. Nvme0n1p1 ist eine NVME, die nur Daten enthält.
|
|
Langolier
(Themenstarter)
Anmeldungsdatum: 16. September 2019
Beiträge: 37
|
Patsche schrieb: Probiere mal die Zeile in deine /etc/default/grub hinzuzufügen:
GRUB_RECORDFAIL_TIMEOUT=0
Die Änderung des Timeout hat funktioniert. Insofern sind die Eingangsfragen beantwortet und habe ich das als gelöst markiert. Weshalb Recordfail gesetzt wird, obwohl es kein offensichtliches Bootproblem gibt, konnte ich noch nicht klären. Der Vorgang um Recordfail läuft laut Gemini so:
Sobald GRUB startet und das Menü lädt (oder den Kernel lädt), wird die Variable recordfail in der Boot-Umgebungsdatei (meist /boot/grub/grubenv) auf 1 gesetzt. Wenn das Betriebssystem vollständig und erfolgreich hochgefahren ist, führt ein Systemdienst (unter Ubuntu/Debian meist das Skript /etc/init.d/grub-common
oder ein entsprechender Systemd-Service) den Befehl grub-editenv aus, um die Variable wieder auf 0 zu setzen (bzw. zu löschen). Falls das System während des Bootens abstürzt, der Strom ausfällt oder der Kernel hängen bleibt, wird der Reset-Befehl nie ausgeführt. Beim nächsten Neustart
sieht GRUB den Wert 1 und weiß: "Der letzte Boot-Versuch war nicht erfolgreich." Wenn recordfail auf 1 gesetzt ist, sieht der Inhalt der Datei normalerweise so aus: # GRUB Environment Block
recordfail=1
Ich werde mir künftig nach jedem Systemstart die /boot/grub/grubenv ansehen, ob recordfail gesetzt ist. Mal sehen, ob die Variable tatsächlich gesetzt bleibt. Bearbeitet von schwarzheit: Falschen Codeblock entfernt. Ein Zitat bleibt ein Zitat.
|
|
Patsche
Anmeldungsdatum: 10. Juli 2012
Beiträge: 652
Wohnort: /Kiel/home/
|
Interessant.
Kannst du diese Wert nicht einmal testweise selbst auf "0" setzen?. Ändert natürlich nichts daran, warum das nicht automatisch passiert. Man könnte das dann automatisieren mit einem Skript.
Wäre aber auch nur eine Krücke, die wir gegen eine andere Krücke tauschen.
Anderseits könnte man dann herausfinden, ob das stimmt, was die KI sagt.
|
|
Langolier
(Themenstarter)
Anmeldungsdatum: 16. September 2019
Beiträge: 37
|
Patsche schrieb: Interessant.
Kannst du diese Wert nicht einmal testweise selbst auf "0" setzen?.
Die Idee hatte ich auch schon. Wenn ich allerdings mit grub-editenv mal nur die aktuellen Variablen aufliste, kommt folgendes heraus:
~$ grub-editenv /boot/grub/grubenv list
grub-editenv: Achtung: Platte existiert nicht, ersatzweise wird Partition des Geräts /dev/sda2 verwendet.
grub-editenv: Achtung: Platte existiert nicht, ersatzweise wird Partition des Geräts /dev/sda2 verwendet.
grub-editenv: Achtung: Platte existiert nicht, ersatzweise wird Partition des Geräts /dev/sda2 verwendet.
grub-editenv: Achtung: cannot open device hostdisk//dev/sda2: Laufwerk »hostdisk//dev/sda2« wurde nicht gefunden..
recordfail=1 Wenn recordfail nicht gesetzt ist, fehlt die letzte Zeile, die ersten vier Zeilen bleiben. Offenbart sich in den ersten vier Zeilen womöglich das eigentliche Problem? Auffällig ist auch, dass ich den Pfad komplett angeben muss. Laut der grub-editenv Manpage sollte ein "-" ausreichen:
If FILENAME is `-', the default value /boot/grub/grubenv is used. Vor diesem Hintergrund habe ich das "unset" Kommando nicht ausprobiert und beobachte das erstmal weiter.
|
|
Langolier
(Themenstarter)
Anmeldungsdatum: 16. September 2019
Beiträge: 37
|
Nachtrag - zur Info für Interessierte / Betroffene. Der Rechner startet mal ohne und mal mit Grub-Bootmenü, obwohl der Bootvorgang ohne erkennbare Probleme verläuft. Mal wechselt das von Bootvorgang zu Bootvorgang, mal bootet er mehrere Male hintereinander ohne Bootmenü oder mehrere Male hintereinander mit. Es ist in keiner Weise regelmäßig - auch nicht von Tag zu Tag oder Woche zu Woche ect.. Nach meinen Beobachtungen kommt das Bootmenü tatsächlich nur, wenn recordfail nach dem vorherigen Bootvorgang gesetzt war. Es könnte daher tatsächlich so ablaufen, wie Gemini (siehe Beitrag vom 14. Mai) es beschreibt. Davon ausgehend, funktioniert offenbar das Rücksetzen der Variable nicht immer. Die Frage nach dem Grund ist nach wie vor offen.
Allerdings gibt es ein paar Auffälligkeiten: Diese Rückmeldung kommt sowohl, wenn recordfail gesetzt ist, als auch wenn recordfail nicht gesetzt ist (dann fehlt die letzte Zeile):
~$ grub-editenv - list
grub-editenv: Achtung: Platte existiert nicht, ersatzweise wird Partition des Geräts /dev/sda2 verwendet.
grub-editenv: Achtung: Platte existiert nicht, ersatzweise wird Partition des Geräts /dev/sda2 verwendet.
grub-editenv: Achtung: Platte existiert nicht, ersatzweise wird Partition des Geräts /dev/sda2 verwendet.
grub-editenv: Achtung: cannot open device hostdisk//dev/sda2: Laufwerk »hostdisk//dev/sda2« wurde nicht gefunden..
recordfail=1
sda2 ist definitiv vorhanden. Die Datei /boot/grub/grubenv ist ebenfalls vorhanden, lesbar und mittels grub-editenv auch bearbeitbar (siehe ganz unten). Dann habe ich noch das hier gefunden:
$~ systemctl status grub-initrd-fallback.service
○ grub-initrd-fallback.service - GRUB failed boot detection
Loaded: loaded (/usr/lib/systemd/system/grub-initrd-fallback.service; enabled; preset: enabled)
Active: inactive (dead) since Fri 2026-06-05 07:48:59 CEST; 53min ago
Invocation: 632e1d058c454544817c726fde786abe
Process: 6227 ExecStart=/usr/bin/grub-editenv /boot/grub/grubenv unset initrdfail (code=exited, status=0/SUCCESS)
Process: 6238 ExecStart=/usr/bin/grub-editenv /boot/grub/grubenv unset prev_entry (code=exited, status=0/SUCCESS)
Main PID: 6238 (code=exited, status=0/SUCCESS)
Mem peak: 4.5M
CPU: 52ms
Jun 05 07:38:36 ortis systemd[1]: Starting grub-initrd-fallback.service - GRUB failed boot detection...
Jun 05 07:48:59 ortis systemd[1]: grub-initrd-fallback.service: Deactivated successfully.
Jun 05 07:48:59 ortis systemd[1]: Finished grub-initrd-fallback.service - GRUB failed boot detection.
Das "GRUB failed boot detection." wird nicht als Fehler dargestellt. Diese Ausgabe kommt immer, d.h. sowohl bei gesetztem als auch bei nicht gesetztem recordfail. Von daher hat es für die Problematik wohl keine Bedeutung. Patsche schrieb: Interessant.
Kannst du diese Wert nicht einmal testweise selbst auf "0" setzen?.
Ich habe jetzt das folgende Skript in Betrieb, das bei gesetztem recordfail diese Variable löscht. Das löst zwar nicht das Problem, funktioniert aber.
#!/bin/bash
# Recordfail löschen, falls gesetzt
BootFlag=$(cat /boot/grub/grubenv) #grubenv auslesen
BootFlag="${BootFlag#*ord}" #alles vor und einschließlich "ord" wegschneiden
BootFlag="${BootFlag%%=*}" #ab dem "=" alles wegschneiden, so dass von dem "recordfail=1" am Anfang des Strings nur noch "fail" übrigbleibt
if [ "$BootFlag" == "fail" ]
then
sudo grub-editenv - unset recordfail
echo "recordfail zurückgesetzt."
echo
else
echo "recordfail ist nicht gesetzt."
echo
fi
read -p "Fertig. (ENTER)" name # Damit das Terminalfenster nach Abschluss des Skrips geöffnet bleibt
|