Fixing undetected NVMe M.2 SSD in Linux

December 15, 2019 • Code

When I swapped built-in NVMe M.2 SSD from my Dell XPS 13 laptop with a bigger capacity SSD, Ubuntu and Fedora were not able to detect the SSD when I tried to install them.

This problem is fixed by adding an extra boot parameter:

nvme_core.default_ps_max_latency_us=0

When booting into the installer´s Grub menu, press [e] to edit and locate a line which starts with linux /boot/vmlinuz-5.3.0-23 ... quiet splash or something similar and append the above parameter at the end of the line.

Use [ctrl+x] to boot the installer. It will now detect the SSD.

Once installation finishes and the system restarts, you will need to do the same thing to boot into your system. Otherwise you will get kernel panic.

Updating Grub2 configuration

It is surely a hassle to put in that parameter everytime booting into Linux. So let´s put in that into Grub configuration. Edit /etc/default/grub and append it on GRUB_CMDLINE_LINUX line.

Then, if you are using Ubuntu, run:

sudo update-grub

For Fedora users with EFI boot, run:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

That´s it!


Leave a comment