Grub2: Menü nach jedem Kernel-Update automatisch neu erzeugen

Bitte beachtet auch die Anmerkungen zu den HowTos!

So mancher kennt wahrscheinlich das Problem: während

su -c'grub2-mkconfig -o /boot/grub2/grub.cfg'

die installierten Kernel in einer sehr übersichtlichen Art und Weise mit Hilfe eines Untermenüs darstellt, schreibt grubby nach jedem Kernel-Update stumpf den Eintrag für den neu installierten Kernel an die erste Stelle im Grub2-Menü.

Wer jedoch die Darstellung mit den Untermenüs bevorzugt, kann sich eines relativ simplen Tricks bedienen, um auch nach Kernel-Updates diese Untermenüs zu behalten, ohne die grub.cfg jedesmal von Hand neu zu erstellen.

Dazu benötigen wir zuerst das Paket yum-plugin-post-transaction-actions, welches über

su -c'yum install yum-plugin-post-transaction-actions'

installiert wird. Anschließend kopieren wir die Sample-Action mittels in das Verzeichnis für die Actions und bearbeiten diese anschließend

su -
cp /usr/share/doc/yum-plugin-post-transaction-actions-1.1.31/sample.action /etc/yum/post-actions/
nano /etc/yum/post-actions/sample.action

Im ersten Schritt entfernen wir nun alle Zeilen, die nicht mit einem Raute-Symbol beginnen und fügen anschließend folgende Zeile ein:

kernel:install:grub2-mkconfig -o /boot/grub2/grub.cfg

Diese Zeile bewirkt, das nach jedem Update des Kernels automatisch eine neue grub.cfg erzeugt wird. Auf eine entsprechende Zeile für die Deinstallation eines Kernels können wir verzichten, da Kernel üblicherweise nur während eines Kernel-Updates entfernt werden und ansonsten die grub.conf mehrmals nacheinander erzeugt werden würde, was darüber hinaus den Update-Vorgang unnötig in die Länge ziehen würde.

Für den Fall, das man einen Kernel manuell deinstalliert, empfiehlt es sich, auch die grub.conf manuell neu zu erstellen.

Grub2 unter Fedora 15 installieren

Obwohl es eine gewisse Überschneidung mit der Anleitung für Fedora 16 gibt, wollen wir Fedora 15 Anwendern nicht vorenthalten, wie sie grub2 auf ihrem System installieren können.

Zuerst muss grub2 sowie os-prober via

su -c'yum install grub2 os-prober'

installiert werden.

Als nächstes installieren wir grub2 als Bootloader und ersetzen somit grub. Dies geschieht mittels folgendem Kommando1 :

su -c'grub2-install /dev/sda'

Im Anschluss daran muss die Datei /etc/default/grub angepasst werden, damit uns der Bug 678453 nicht die Tour vermasselt. Dies geschieht mittels

su -c'nano /etc/default/grub'

hier fügen wir nun folgende Zeile als Workaround ein

GRUB_DISTRIBUTOR=$(sed "s/.*(\(.*\))/\1/" /etc/system-release)

Im letzten Schritt erzeugen2 wir nun noch eine neue grub2.conf mittels

su -c'grub2-mkconfig -o /boot/grub2/grub.cfg'

Ab dem nächsten (Neu)Start des Systems wird jetzt grub2 anstelle von grub verwendet.

Nichts desto trotz übernehmen wir keine Verantwortung, falls das eigene System durch diese Anleitung unbrauchbar gemacht werden sollte. Das Befolgen dieser Anleitung geschieht somit auf eigene Gefahr!

  1. Falls die erste Festplatte eine andere Bezeichnung hat, muss der Befehl entsprechend angepasst werden! []
  2. Dieser Schritt muss nach jeder Änderung von /etc/default/grub wiederholt werden, damit die Änderungen wirksam werden. []

Fedora 16: grub2 aktivieren

Für Fedora 16 wird seit heute ein Update für grub2 ausgerollt, welches grub als Bootloader ersetzt. Um grub2 auch nutzen zu können, sind jedoch noch ein paar manuelle Handgriffe notwendig.

Zuerst muss grub2 als Bootloader installiert werden. Dies geschieht mittels folgendem Kommando1 :

su -c'grub2-install /dev/sda'

Im nächsten Schritt muss die Datei /etc/default/grub angepasst werden, damit uns der Bug 678453 nicht die Tour vermasselt. Dies geschieht mittels

su -c'nano /etc/default/grub'

hier fügen wir nun folgende Zeile als Workaround ein

GRUB_DISTRIBUTOR=$(sed "s/.*(\(.*\))/\1/" /etc/system-release)

Im letzten Schritt erzeugen2 wir nun noch eine neue grub2.conf mittels

su -c'grub2-mkconfig -o /boot/grub2/grub.cfg'

Ab dem nächsten (Neu)Start des Systems wird jetzt grub2 anstelle von grub verwendet.

Nichts desto trotz übernehmen wir keine Verantwortung, falls das eigene System durch diese Anleitung unbrauchbar gemacht werden sollte. Das Befolgen dieser Anleitung geschieht somit auf eigene Gefahr!

  1. Falls die erste Festplatte eine andere Bezeichnung hat, muss der Befehl entsprechend angepasst werden! []
  2. Dieser Schritt muss nach jeder Änderung von /etc/default/grub wiederholt werden, damit die Änderungen wirksam werden. []