18.04 and 18.10 fail to boot nvme0: failed to set APST feature (-19)

14,187

Solution 1

I finally got Ubuntu 18.10 to install. I added nvme_core.default_ps_max_latency_us=200 to my /etc/default/grub file.

So, it looks like this: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvme_core.default_ps_max_latency_us=200"

From this answer: EXT4-fs error after Ubuntu 17.04 upgrade

Now works like a dream.

Solution 2

I had the same problem with two different drives on two different systems:

  • NUC8i3
  • NUC8i5

Adding as a kernel parameter nvme_core.default_ps_max_latency_us=1000 works either on Ubuntu 18.04.3 and Ubuntu 19.10.

Pay attention at the reboot: You need to add this string into /etc/default/grub and then update-grub. So if the system doesn't start, follow a guide to mount via a live system your partition, chroot into the installed one, add the string and update-grub.

It worked for me.

Share:
14,187

Related videos on Youtube

Will Busby
Author by

Will Busby

Updated on September 18, 2022

Comments

  • Will Busby
    Will Busby over 1 year

    I’m a relatively new Ubuntu user and I’ve bought a new laptop for developing. However, I’ve had a whole host of problems trying to get it working with Ubuntu. I’ve agonised over this for nearly two days and below I’ve tried to summarised the main issues I’m having:

    Got these issues on both Ubuntu 18.04 and 18.10 and as a main install, so NOT dual booting with anything.

    First issue: Ubuntu installer would not find my ssd m.2 drive to install.

    • First fix attempt: used acpi=off as a boot option which worked and was able to install.

    • Problem with this: after install I was not able to boot without acpi=off, which would then severly impede my laptop’s performance (only shows and uses one cpu core when I have 6. Any attempt to load without acpi=off results in the ‘nvme0: failed to set APST feature’ boot error.

    • Second fix attempt: used nvme_load=YES as boot option. This was more promising.

    • Problem with this: everything was working great and managed to boot Ubuntu fine. But, I then did the first software update it asks for and upon restart, back to the above error.

    FWIW - I tried to install ArchLinux and that did work fine for a few hours until It froze and I had to power off with the power button, resulting in a different NVMe failure.

    Edit: I must note that secure boot and fast boot is off and achi sata mode mode is on

    This is my laptop specification:

    American Megatrends motherboard bios version 7.004 (sorry I don’t know what more information I can give for this?) Intel® Core™ i7 Six Core Processor 8750H (2.2GHz, 4.1GHz Turbo) 16GB Corsair 2133MHz SODIMM DDR4 (2 x 8GB) NVIDIA® GeForce® MX150 - 2.0GB DDR5 Video RAM 512GB INTEL® 760p M.2 NVMe PCIe SSD

    Would really appreciate any help on this. I fear I’m going to have to just use Windows until my hardware is supported.

    • PhysicsDave
      PhysicsDave over 3 years
      Thx for this question, just purchased (Dec 2020) MSI B460 board with Samsung 970 eve ssd and needed your solution otherwise the system just conked out as you describe.
  • Michel Andrade
    Michel Andrade almost 5 years
    Hi! I got the error: failed to get canonical path of '/cow' when run 'sudo update-grup'
  • nobody
    nobody almost 4 years
    you forgot to mention that sudo update-grub must be run afterwards.
  • w1th0utnam3
    w1th0utnam3 over 3 years
    I had a similar problem with my NUC10i3 and a Kingston A2000 250GB NVMe SSD on Ubuntu Mate 20.10. But the problem would only occur during shutdown/restart. It caused timeouts, resulting in super slow (several minute) long shutdowns. For now it seems like it was fixed for me with nvme_core.default_ps_max_latency_us=5500 as recommended here: wiki.archlinux.org/index.php/Talk:Solid_state_drive/…
  • PhysicsDave
    PhysicsDave over 3 years
    Thx for this answer, just purchased (Dec 2020) MSI B460 board with Samsung 970 evo ssd and needed your solution otherwise the system just conked out as you describe. System was unstable but I quickly after boot did sudo "nano /etc/default/grub" and "sudo update-grub" before the system went nuts. Working fine now.
  • mimrock
    mimrock over 3 years
    In case you cannot even boot, you can press e on the grub item you want to boot, and add nvme_core.default_ps_max_latency_us=5500 at the end of the line starting with linux. This will change the kernel parameter for that one boot, so you can properly update grub config.