I am running Zorin 18.1 on an ASUS laptop. After my kernel went from 6.17.0-23 to 6.17.0-19 last night, my wifi driver, Bluetooth, and trackpad became unresponsive. No problem, I thought, I can boot into the previous kernel version with grub-reboot and see if anything comes back. In my /boot/grub/grub.cfg I see menuentry lines starting with
0 menuentry 'Zorin OS'
1 menuentry 'Zorin OS, with Linux 6.17.0-29-generic'
2 menuentry 'Zorin OS, with Linux 6.17.0-29-generic (recovery mode)'
3 menuentry 'Zorin OS, with Linux 6.17.0-23-generic'
4 menuentry 'Zorin OS, with Linux 6.17.0-23-generic (recovery mode)'
5 menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
so as sudo I ran grub-reboot "Zorin OS, with Linux 6.17.0-23-generic" and rebooted. But when it came up, the drivers were still not working, and journalctl showed that it was booted with 6.17.0-29-generic again. I tried ten more times, making sure that it was updating /boot/grub/grubenv with the menu item properly, and still no luck. All the kernel files and symlinks in /boot look okay. Do I have to go into interactive grub at this point to bring the system up under 6.17.0-23, and if so, why?
Do you get a grub menu when you reboot? If so using the advanced options choice should give you a selection of older kernels and you can pick the 6.17-23 if that’s what works for you.
If that fixes your Wi-Fi, Bluetooth and trackpad issues you can make it your default by editing your grub file. sudo nano /etc/default/grub. And changing the default to saved in the first line then adding saveddefault=true as a second line.
If selecting your preferred kernel doesn’t fix the issue, come back here and we can help you with additional troubleshooting.
When Your System boots up, Spam-press Esc or the left Shift Key to get the GRUB Menu. there choose ''Advanced Options'' and there the older Kernel. How to set it up as default, @Nourpon already give You a Link with Instructions.
If the Spam-Pressing should work, You can make the GRUB Menu active manually in the Terminal. Type there:
The Lines 2 and 3 are important here. You have to change these to:
GRUB_TIMEOUT_STYLE=menu
GRUB_TIMEOUT=20
The last Value makes that the GRUB Menu appears for 20 Seconds before it boots into the default. If that should suit You, You can changes the Value to something that fits for You. For Exapmle 10, 30 or 50. Or You can change it to -1 and then it stays until You make an Input.
When done the Changes press ctrl+o to save, Enter to confirm and ctrl+x to exit. Then type in Terminal sudo update-grub to make the Changes affect. Don't forget that! Without it, it will not work. Then reboot and the GRUB Menu should appear.
Thanks - I was not seeing the grub menu but applying those changes to the default and updating gave me the advanced menu I needed to boot into the old kernel. Now my mouse cursor, wifi, and Bluetooth are as before, which is what I needed. I don't know why the grub-reboot command was not doing what I thought it should, but this is easier anyway.
journalctl for the previous boots under the newer kernel shows lots of errors about missing modules so it must not have updated completely.