Nicolas Wavrant

Coding for humanity

How to downgrade linux's kernel

Get an older version of the kernel, and install it
wget http://security.debian.org/debian-security/pool/updates/main/l/linux/linux-image-4.9.0-11-am d64_4.9.189-3+deb9u2_amd64.deb
dpkg -i linux-...

In /etc/default/grub, replace "GRUB_DEFAULT=0" by :

GRUB_DEFAULT="gnulinux-advanced-8b947510-003b-4648-a734-86f1cdd6ed9e>gnulinux-4.9.0-11-amd64-advanced-8b947510-003b-4648-a734-86f1cdd6ed9e"

by taking correct data from /boot/grub/grub.cfg, which contains something like :

menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8b947510-003b-4648-a734-86f1cdd6ed9e' {...}
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-8b947510-003b-4648-a734-86f1cdd6ed9e' {
menuentry 'Debian GNU/Linux, with Linux 4.19.0-6-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.19.0-6-amd64-advanced-8b947510-003b-4648-a734-86f1cdd6ed9e' {...} menuentry 'Debian GNU/Linux, with Linux 4.9.0-11-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-11-amd64-advanced-8b947510-003b-4648-a734-86f1cdd6ed9e' {...} + other menuentries, for other installed kernels and recovery mode entries }
The procedure should be safe, as if grub fails to boot because a wrong default entry is provided, then it will try again on the first entry (= latest kernel)