Skip to main content

The PCIE card is not detected by the OS

· 2 min read

This guide explains how to safely roll back to a previous kernel version and ensure it is fully functional (drivers, modules, and networking) from your currently working Linux setup to be compatible with the PCIE card.

1. Check Existing Kernels

To first list all the available images, open the terminal and run:

dpkg --list | grep linux-image

Then be sure to check your current kernel version by running the following command:

uname -r

If your version does not align with the requirements specified, then please proceed with the next steps to install a functioning kernel.

2. Install a Specific Kernel Version

From your current working kernel, install an older one (with headers and modules):

sudo apt install linux-image-<version> linux-headers-<version> linux-modules-extra-<version>

Here is an example command:

sudo apt install linux-image-6.8.0-52-generic linux-headers-6.8.0-52-generic linux-modules-extra-6.8.0-52-generic

3. Create initramfs for the Installed Kernel

initramfs is a small temporary root filesystem loaded into memory at boot time to help the system mount the actual root filesystem and load necessary drivers.

sudo update-initramfs -c -k 6.8.0-52-generic

4. Update GRUB

sudo update-grub

5. Set Rolled-Back Kernel as Default

You can edit the GRUB config by running the following:

sudo nano /etc/default/grub

Then change the value GRUB_DEFAULT=0 to the following:

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.8.0-52-generic"
note

This is just an example. Change it to whatever kernel version you installed earlier.

Then update GRUB again:

sudo update-grub

6. Reboot and Test Kernel

Reboot and select your rolled-back kernel. You should now have:

  • Networking;
  • Drivers (e.g., GPU, WiFi); and
  • Kernel modules.

Please make sure to run this after the system reboots into your desired kernel:

sudo apt install linux-headers-$(uname -r)

This will ensure all the headers required for drivers to operate are present.

7. Remove Broken/Newer Kernels (Optional)

If you want to remove the non-working newer kernel, run the following commands:

sudo apt remove linux-image-<broken-version>
sudo update-grub

8. Prevent Future Kernel Upgrades (Optional)

This command will prevent further kernel upgrades from taking place, and lock your working kernel version.

sudo apt-mark hold linux-image-<version> linux-headers-<version> linux-modules-extra-<version>

10. Clean Up Old Kernels (Optional)

This will clean up older kernel versions.

sudo apt autoremove --purge