Inhalte
Hier ein schneller Quicktrick, um das Thema Kernel…
Aktueller Kernel herausfinden
Dies macht man am besten mit dem Befehl uname
.
uname -a #Linux example 4.9.0-12-amd64 #1 SMP Debian 4.9.210-1 (2020-01-20) x86_64 GNU/Linux #oder uname -r #4.9.0-12-amd64 #oder uname -mrs #Linux 4.9.0-12-amd64 x86_64
Installierte Kernel anzeigen
dpkg --list | grep linux-image
Ausgabe:
root@example:~# dpkg --list | grep linux-image ii linux-image-4.9.0-12-amd64 4.9.210-1+deb9u1 amd64 Linux 4.9 for 64-bit PCs ii linux-image-4.9.0-13-amd64 4.9.228-1 amd64 Linux 4.9 for 64-bit PCs ii linux-image-4.9.0-6-amd64 4.9.88-1+deb9u1 amd64 Linux 4.9 for 64-bit PCs ii linux-image-amd64 4.9+80+deb9u11 amd64 Linux for 64-bit PCs (meta-package)
Manuell installierte Kernel, die nicht vom Pakage-Verwalter installiert worden sind anzeigen. Die Kernel sind dann unter /lib/modules/
zu finden.
ls -l /lib/modules/
Ausgabe könnte so aussehen:
root@example:~# ls -l /lib/modules/ insgesamt 12 drwxr-xr-x 3 root root 4096 Jul 7 09:05 4.9.0-12-amd64 drwxr-xr-x 3 root root 4096 Aug 27 10:59 4.9.0-13-amd64 drwxr-xr-x 3 root root 4096 Jul 16 2018 4.9.0-6-amd64
Kernel suchen und installieren
apt-cache search linux-image
Ausgabe
root@example:~# apt-cache search linux-image linux-headers-4.9.0-13-amd64 - Header files for Linux 4.9.0-13-amd64 linux-headers-4.9.0-13-rt-amd64 - Header files for Linux 4.9.0-13-rt-amd64 linux-image-4.9.0-13-amd64 - Linux 4.9 for 64-bit PCs linux-image-4.9.0-13-amd64-dbg - Debug symbols for linux-image-4.9.0-13-amd64 linux-image-4.9.0-13-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT linux-image-4.9.0-13-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-13-rt-amd64 linux-image-amd64 - Linux for 64-bit PCs (meta-package) linux-image-amd64-dbg - Debugging symbols for Linux amd64 configuration (meta-package) linux-image-rt-amd64 - Linux for 64-bit PCs (meta-package), PREEMPT_RT linux-image-rt-amd64-dbg - Debugging symbols for Linux rt-amd64 configuration (meta-package) linux-headers-4.9.0-11-amd64 - Header files for Linux 4.9.0-11-amd64 linux-headers-4.9.0-11-rt-amd64 - Header files for Linux 4.9.0-11-rt-amd64 linux-headers-4.9.0-12-amd64 - Header files for Linux 4.9.0-12-amd64 linux-headers-4.9.0-12-rt-amd64 - Header files for Linux 4.9.0-12-rt-amd64 linux-image-4.9.0-11-amd64 - Linux 4.9 for 64-bit PCs ...
Haben wir den gewünschten Kernel gefunden können wir es ganz normal mit apt installieren.
apt install linux-image-<version>
Kernel neu installieren
sudo apt-get install --reinstall linux-image-$(uname -r)
Kernel deinstallieren
Manuell
apt-get remove --purge linux-image-<name>
oder automatisch
apt-get autoremove --purge
Manuell Standard Kernel fürs Hochfahren bestimmen
Dies machen wir in der Regel in entweder per Bildschirm wenn das System hochfährt…oder wir machen es per Grub Konfiguration.
Wir machen ein Backup der Grub Datei.
cp /etc/default/grub /etc/default/grub.backup
Wir suchen nun alle Optionen für Grub aus und zeigen diese an.
grep -A100 submenu /boot/grub/grub.cfg | grep menuentry
Ausgabe könnte so aussehen:
root@example:~# grep -A100 submenu /boot/grub/grub.cfg |grep menuentry submenu 'Erweiterte Optionen für Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' { menuentry 'Debian GNU/Linux, mit Linux 4.9.0-13-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-13-amd64-advanced-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' { menuentry 'Debian GNU/Linux, with Linux 4.9.0-13-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-13-amd64-recovery-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' { menuentry 'Debian GNU/Linux, mit Linux 4.9.0-12-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-12-amd64-advanced-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' { menuentry 'Debian GNU/Linux, with Linux 4.9.0-12-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-12-amd64-recovery-35ca7884-aa11-48ec-b0e1-a6b213b84dbe' {
Nun editieren wir die Grub Datei. Ich mache es gerne mit nano
.
nano /etc/default/grub
Nun suchen wir den Werte GRUB_DEFAULT
und fügen den vollen Namen des Kernels ein, den wir als Standard starten wollen z.B. Debian GNU/Linux, mit Linux 4.9.0-13-amd64
.
Mit einem > (Größer als-Zeichen) sagen wir, dass dieser Kernel unter ‚Erweiterte Optionen für Debian GNU/Linux‘ zu finden ist. D.h. die Variable könnte am Ende so aussehen:
GRUB_DEFAULT="Erweiterte Optionen für Debian GNU/Linux>Debian GNU/Linux, mit Linux 4.9.0-13-amd64"
Nachdem wir die Datei gespeichert haben, müssen wir grub
sagen, dass er die Einstellungen neu einlesen soll. Dies machen wir:
update-grub
Mehr Infos in der Ubuntu Dokumentation.
Viel Spaß 🙂