Zum Inhalt springen

Starten eines bestimmten Linux-Boot-Kernels mit Grub

31. August 2021 durch
Christian Lisec

Nach einem Upgrade wollte einer unserer VM Hosts auf Debian Bullseye (11) von Debian Buster (10) umstellen und installierte daraufhin den neuen Kernel-Image Linux 5.10.0. Leider gab es für das Image noch kein, auf einfachem Wege, bereitgestellten Kernel-Header für die Kompilierung der Treiber der Serveranwendung Virtualbox 6.1. Es sollte daher vorübergehend eine Lösung gefunden werden, sodass durch den Boot-Manager Grub der alte Kernel-Image 4.19.0 standardmäßig gestartet wird und somit Virtualbox 6.1 wie gewohnt weiterhin in Betrieb bleibt.


Anpassung der Grub-Konfigurationsdatei

Finde den $menuentry_id_option Eintrag für das Submenü mit der Terminal-Befehlszeile: "grep submenu /boot/grub/grub.cfg"

user@debian:~$ grep submenu /boot/grub/grub.cfg
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-1931c067-096f-43da-b619-90c0ad22e1bd' {

Finde den $menuentry_id_option Eintrag für das Selektieren des Kernels im Submenü mit der Terminal-Befehlszeile: "grep gnulinux /boot/grub/grub.cfg"

user@debian:~$ grep gnulinux /boot/grub/grub.cfg
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-1931c067-096f-43da-b619-90c0ad22e1bd' {
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-1931c067-096f-43da-b619-90c0ad22e1bd' {
        menuentry 'Debian GNU/Linux, with Linux 5.10.24-lowlatency' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.24-lowlatency-advanced-1931c067-096f-43da-b619-90c0ad22e1bd' {
        menuentry 'Debian GNU/Linux, with Linux 5.10.24-lowlatency (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.10.24-lowlatency-recovery-1931c067-096f-43da-b619-90c0ad22e1bd' {
        menuentry 'Debian GNU/Linux, with Linux 4.19.118' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.118-advanced-1931c067-096f-43da-b619-90c0ad22e1bd' {
        menuentry 'Debian GNU/Linux, with Linux 4.19.118 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.118-recovery-1931c067-096f-43da-b619-90c0ad22e1bd' {

Öffne die Grub-Konfigurationsdatei mit der Terminal-Befehlszeile "sudo vim /etc/default/grub" oder "sudo nano /etc/default/grub".

Dupliziere die Konfigurationszeile "GRUB_DEFAULT=0" und kommentiere die kopierte Zeile ein, indem du das Kommentierzeichen # voranstellst.

Bitte achte darauf, dass du zwischen den Menüwerten den Separator ">" einsetzt.

Beispiel:

#GRUB_DEFAULT=0
GRUB_DEFAULT="gnulinux-advanced-1931c067-096f-43da-b619-90c0ad22e1bd>gnulinux-4.19.118-advanced-1931c067-096f-43da-b619-90c0ad22e1bd"

 Als letzten Schritt noch die neue Konfigurationsdatei für Grub aktualisieren: "sudo update-grub" und das System Neustarten.

Mit der Befehlszeile "uname -a" kann man den momentan gestarteten Linux-Kernel abrufen bzw. Überprüfen.

Zudem sollte in unserem Fall sichergestellt sein, dass die Paketquelle von Stable auf Buster angepasst wird, sodass Stable-Pakete (Bullseye) nicht mit der momentanen Virtualbox 6.1 Installation in Konflikt geraten. Daher folgende Änderung in der Datei /etc/apt/sources.list. Die Paketquellen-Referenz "Stable" auf "Buster" ändern und danach mit sudo apt update && sudo apt upgrade aktualisieren.

Christian Lisec 31. August 2021
Diesen Beitrag teilen
Ihr dynamisches Snippet wird hier angezeigt ... Diese Meldung wird angezeigt, weil Sie weder einen Filter noch eine Vorlage zur Verwendung bereitgestellt haben