Standardoptionen bei grub-install für Update setzen

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
mar6306011
Beiträge: 30
Registriert: 31.12.2016 20:27:13

Standardoptionen bei grub-install für Update setzen

Beitrag von mar6306011 » 06.08.2024 15:33:35

Hallo Leute!
Ich verwende Debian-Trixie und habe es auf einem USB-Stick installiert, um eine Art Backupsystem zu haben. Ich update es regelmäßig mit apt upgrade.
Als ich das System vor einiger Zeit aufsetzte, habe ich den grub mit den Optionen "--removable" und "--no-nvram" installiert.

Code: Alles auswählen

grub-install --removable --no-nvram
Nun kommt es nach einem Update ab und zu vor, dass sich anscheinend der grub neu installiert. Dies erkenne ich daran, dass dann plötzlich der Eintrag "debian" im UEFI-NVram erscheint und das will und brauche ich nicht. Ich muss danach immer den Eintrag per Hand wieder entfernen.
Gibt es eine Möglichkeit, die beiden Optionen --removable und --no-nvram in irgendeine Konfigurationsdatei einzutragen, damit diese bei einem Update zur Anwendung kommen und das NVram keinen Eintrag bekommt?
Vielen Dank im Voraus.
LG Martin

Benutzeravatar
Draal
Beiträge: 689
Registriert: 11.03.2005 14:45:26

Re: Standardoptionen bei grub-install für Update setzen

Beitrag von Draal » 06.08.2024 18:32:15

mar6306011 hat geschrieben: ↑ zum Beitrag ↑
06.08.2024 15:33:35
Gibt es eine Möglichkeit, die beiden Optionen --removable und --no-nvram in irgendeine Konfigurationsdatei einzutragen, damit diese bei einem Update zur Anwendung kommen und das NVram keinen Eintrag bekommt?
Ich lege dafür nicht die Hand ins Feuer, aber ich würde das in der /etc/default/grub probieren. Backup nicht vergessen. :wink:

Benutzeravatar
MSfree
Beiträge: 11604
Registriert: 25.09.2007 19:59:30

Re: Standardoptionen bei grub-install für Update setzen

Beitrag von MSfree » 06.08.2024 20:56:30

Draal hat geschrieben: ↑ zum Beitrag ↑
06.08.2024 18:32:15
Ich lege dafür nicht die Hand ins Feuer, aber ich würde das in der /etc/default/grub probieren.
/etc/default/grub wird angezogen, wenn ein update-grub durchgeführt wird, was bei Kernelupdates nötig wird. Damit wird nur das Menü, das grub beim Booten zeigt, aufgebaut.

Wenn grub aktualisiert wird, wird ein neues Grub mittels Shellscript installiert. Das Shellscript befindet sich im Debianpaket, kann also nicht von aussen gesteuert werden.

Ich fürchte, eine einfache Lösung wird es nicht geben, ohne das Skript im .dep anzufassen.

Benutzeravatar
detix
Beiträge: 1743
Registriert: 07.02.2007 18:51:28
Wohnort: MK

Re: Standardoptionen bei grub-install für Update setzen

Beitrag von detix » 07.08.2024 08:31:06

mar6306011 hat geschrieben: ↑ zum Beitrag ↑
06.08.2024 15:33:35
Gibt es eine Möglichkeit, die beiden Optionen --removable und --no-nvram in irgendeine Konfigurationsdatei einzutragen ...
Versuch mal den Befehl in der /etc/apt/apt.conf einzutragen, ungefähr so:

Code: Alles auswählen

DPkg {
  Post-Invoke {
    // Konfig Änderungen nach einem Update:
    "/usr/local/bin/pn_apt.conf";
  }
}
Falls das noch so funktioniert, wird nach einem update das Skript pn_apt.conf ausgeführt oder eben dein Befehl.
Ein Skript hätte den Vorteil ‒ falls möglich ‒ noch eine Abfrage dazuzuschreiben ob grub überhaupt ausgeführt werden muss.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!

mar6306011
Beiträge: 30
Registriert: 31.12.2016 20:27:13

Re: Standardoptionen bei grub-install für Update setzen

Beitrag von mar6306011 » 08.08.2024 00:35:16

Hallo Leute!
Vielen Dank für eure Antworten.
Ich habe mir überlegt, dass ich nach dem Update eine Funktion aufrufe, die überprüfen soll, ob der NVRAM den Debian-Eintrag oder mehrere enthält und wenn ja, diesen löscht.
Zum Schluss wird dann noch das Verzeichnis gelöscht und der Grub neu installiert.

Code: Alles auswählen

f_kill_nventry
{
local tmp=""
local flag=0

for((;;)); do
    tmp=$(efibootmgr | egrep -m1 -o "^Boot[0-9]{4}..debian" | egrep -o "[0-9]{4}")
    [[ "$?" -ne 0 ]] && break
    flag=1
    (set -x; efibootmgr -b "$tmp" -B)
    f_err "$?" "Fehler: Kommando fehlgeschlagen."
done
if [[ "$flag" -eq 1 ]]; then
    (set -x; rm -f -r /boot/efi/EFI/Debian)
    (set -x; grub-install --removable --no-nvram)
    f_err "$?" "Fehler: Grubinstall fehlgeschlagen."
fi
}
Ich muss mal schauen, ob das beim nächsten größeren Update so funktioniert, so wie ich mir das ausgedacht habe.
LG Martin

Antworten