Troubleshooting PCIe Bus Error severity Corrected on Ubuntu and Linux Mint

Seeing lots of PCIe Bus Error severity Corrected errors on your Linux system at boot time? Here's how you can handle these annoying errors.
Warp Terminal

Recently I was trying to install Mint on several nodes in my institute. At times, I could not install and got lots of ‘PCIe Bus’ errors on the screen. I have also observed a similar issue with Ubuntu 18.04.

I got stuck into it for more than a month after using many solutions and observations (solution is the same, but observation and treatment may be different), I found something which was helpful for me. I think it could be beneficial for other Ubuntu and Linux Mint users. This is why I am sharing it here.

Observations about PCIe Bus Error severity Corrected

Troubleshooting Linux

It happened with my HP system and it seems that there is some compatibility issues with the HP hardware. The PCIe Bus Error is basically the Linux kernel reporting the hardware issue.

This error reporting turns into a nightmare because of the frequency of error messages generated by the system. I have noticed in various Linux forums that many HP user have encountered this error; probably, HP needs to improve Linux support for their hardware.

Note that this doesn’t necessarily mean you cannot use Linux on your HP system. You might be able to use Linux like everyone else. It’s just that seeing this message flashing on the screen on every boot is annoying and sometimes, it could lead to bigger troubles.

If the system keeps on reporting, it will increase the log size. If you have limited space for root, it could mean that your system will get stuck at the black screen displaying the PCIe error message and your system won’t be able to boot.

Now that you know a few things let’s see how to tackle this error.

Handling PCIe Bus Error messages if you can boot in to your Linux system

If you see the PCIe Bus Error message on the screen while booting but can still log in, you could do a workaround for this annoyance.

You can do little on the hardware compatibility front. I mean you (most probably) cannot go ahead and start coding drivers for your hardware or fix the existing drivers code. If your system works fine, your main concern should be that too much of error reporting doesn’t eat up the disk space.

In that regard, you can change the Linux kernel parameter and ask it to stop reporting the PCIe errors. To do that, you need to edit the grub configuration.

Basically, you just have to use a text editor to edit the file.

First thing first, make a backup of your grub config file so that you can revert in case you are not sure of things you changed. Open a terminal and use the following command:

cp /etc/default/grub ~/grub.back

Now open the file with Gedit for editing:

sudo gedit /etc/default/grub

Look for the line that has GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

Add pci=noaer in this line. AER stands for Advanced Error Reporting and ‘noaer’ asks the kernel not to use/log Advanced Error Reporting. The changed line should look like this:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"

Once you have saved the file, you should update the grub using this command:

sudo update-grub

Restart Ubuntu and you shouldn’t see the ‘PCIe Bus Error severity Corrected messages’ anymore.

If this doesn’t fix the issue, you can try changing other kernel parameters.

Further troubleshooting: Disable MSI

Now you are resorting to hit and trial. You may try disabling MSI. Though Linux kernel supports MSI for several years now, a wrong implementation of MSI from some hardware manufacturer may lead to the PCIe errors.

The drill is practically the same as you saw in the previous section. You edit the grub configuration and make the GRUB_CMDLINE_LINUX_DEFAULT line look like this:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nomsi"

Update grub and reboot the system:

sudo update-grub

Even further troubleshooting: Disable mmconf

I know it’s getting repetitive but if you are still facing the issue, it could be worth to give this a last try. This time, disable the mmconf parameter in Linux kernel.

mmconf means 'memory mapped config' and if you have an old computer, a buggy BIOS may lead to this issue.

The steps remain the same. Just change the line GRUB_CMDLINE_LINUX_DEFAULT in your grub config to make it look like:

 GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=nommconf"

Can’t boot! How to edit grub config now?

In some cases, if you are not even able to boot at all, perhaps your root is out of space. An idea here would be to delete old log files and see if you could boot now and if yes, change the grub config.

On reboot, if you are stuck with logs on the screen and do a hard boot (use power button to turn it off and on again). When you power on, choose to go into recovery mode from the grub screen. It should be under Advanced options.

Advanced boot options in Grub menu of Ubuntu

If your system doesn’t show the grub screen, press and hold shift key at boot. In some systems, pressing the Esc key brings the grub screen.

In the advanced option->recovery mode:

Boot into recovery mode

Drop into root shell:

Root shell prompt allows you to reset password in Ubuntu

If you use the ls command to find large files, you’ll see that sys.log and kern.log take huge space:

ls -s -S /var/log

You can empty the log files in Linux command line this way:

$ > syslog
$ > kern.log

Once that is done, reboot your system. You should be able to log in. You should quickly change the grub parameters as discussed above. Adding pci=noaer should help you in this case.

I know it’s more of a workaround than a solution. But this is something that troubled me for long and helped me get around the error. Otherwise, I had to reinstall the system.

I just wanted to share what worked for me with the community here. I hope it helps you as well.

✍🏻
This article is written by Arun Shrimali. Arun is IT Head at Resonance Institute in India and he tries to implement Open Source Software across his organization. The article has been edited by Abhishek Prakash.
About the author
Community

Community

Written by a community member, a reader who is not part of the It's FOSS writing team. The views and opinions expressed are those of the authors and do not necessarily reflect that of It's FOSS.

Become a Better Linux User

With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world

It's FOSS

Great! You’ve successfully signed up.

Welcome back! You've successfully signed in.

You've successfully subscribed to It's FOSS.

Success! Check your email for magic link to sign-in.

Success! Your billing info has been updated.

Your billing was not updated.