Fedora 43 Workstation — NVIDIA Kernel Fix

A Quick Reference: Booting a working kernel when NVIDIA kmod is missing after an Update!

1. The Problem

When Fedora updates to a new kernel, it becomes the default boot entry. If the NVIDIA kernel module (kmod) has not been built for that new kernel - either because the build failed or you skipped the NVIDIA update - the system boots without a working NVIDIA driver.

  1. The Fix - grubby

The tool is grubby Fedora’s command-line tool for managing boot entries.
No file editing required.
Step 1- List all installed kernels
Run this in the terminal to see every kernel entry and identify the one that works:

sudo grubby --info=ALL | grep title

You will see output like:

title=“Fedora Linux (6.19.6-200.fc43.x86_64) 43 (KDE Plasma)”

title=“Fedora Linux (6.18.16-200.fc43.x86_64) 43 (KDE Plasma)”

title=“Fedora Linux (6.18.10-200.fc43.x86_64) 43 (KDE Plasma)”

Step 2 - Set the working kernel as the default
Use the terminal to replace the version number below with the kernel you know works (the last one before the update that broke things):

sudo grubby --set-default /boot/vmlinuz-6.18.16-200.fc43.x86_64
Step 3 - Confirm the change

sudo grubby --default-kernel

Should return the path of the kernel you just set. Then reboot:

sudo reboot

  1. Verify After Reboot

In Terminal, confirm you booted the correct kernel and NVIDIA is working:

#Check current kernel

uname -r

Print this post. It may save some of you from frustration after a Fedora update!
Holding the shift key displays boot options when rebooting. Select an earlier working driver. from those shown.

1 Like

So out of interest: Would this mess up the automatic new kernel selection in Grub2 when a new Kernel comes through ?

Good question, and the honest answer is: yes, it does change the behaviour, but it’s not permanent damage.

Here’s what actually happens:

What grubby set-default does It writes a specific kernel path as the default in /boot/grub2/grubenv. That path stays fixed — it won’t automatically shift to a new kernel when the next update arrives.

So yes, new kernels won’t auto-boot. Normally Fedora sets the newest kernel as the default on install. Once you’ve pinned a specific one, that stops happening.

But it’s easy to undo. When NVIDIA kmod catches up with the new kernel, you just run:
sudo grubby --set-default /boot/vmlinuz-[new-kernel-version]
Or to restore the “always use newest” behaviour:
sudo grubby --set-default-index=0
Index 0 is always the most recently installed kernel.

1 Like

Thank you :slight_smile:
This now gives us a “how to bypass a troublesome kernel and then restore the normal behavior”, once a troublesome kernel as been replaced.
Having been in that situation this is very helpful.