
Об устранении ошибок PCIe Bus Error при загрузке Linux
На некоторых компьютерах в момент начальной загрузки операционной системы появляются сообщения о наличии корректируемых физических ошибок, например:
PCIe Bus Error: severity=Corrected, type=Physical Layer, (Receiver ID)
device 8086:a116 error status/mask=0000001/00002000
pcieport 0000:00:1c.6 RxErr (First)
pcieport 0000:00:1c.6 AER: Multiple Corrected error received: 0000:00:1c.6

При этом компьютер может вообще не загружаться, постоянно находясь в состоянии «истерички», постоянно отображая строки информации, сигнализирующие о проблеме.
Такая ситуация может возникнуть при включении нескольких видеокарт (или другого оборудования) через райзер. При этом проблема не решается заменой видеокарт Nvidia на AMD (или наоборот), хотя может исчезнуть при уменьшении количества подключенных устройств и/или их использовании без райзеров.
Исходя из содержимого сообщений об ошибках, видно, что возникающие ошибки излечимы (PCIe Bus Error: severity=Corrected), система может работать, но она почему-то «тупит» на этапе загрузки.

Из-за чего появляются ошибки PCI-E, мешающие загрузке?
Проблема связана с некорректным обменом данными по шине PCIe на физическом уровне. Подобные ошибки излечимы и не относятся к серьезным.
Классифифкация ошибок, которые могут возникать при работе шины PCI-Express:

Проблема связана с некорректным переходом шины PCI-E из полностью активного состояния (L0) в один из режимов, снижающих потребление энергии:
- L0s — electrical idle (режим standby);
- L1 — lower power standby/slumber state;
- L2 — low power sleep state;
- L3 — link Off state.

Особенности работы шины PCIe в разных режимах потребления энергии:

На практике ошибка PCIe Bus Error часто появляется при загрузке Linux-подобных систем на компьютерах с процессорами Intel шестого-седьмого поколений. Обычно она связана с видеокартами или устройством Intel Corporation Sunrise Point-LP PCI Express Root Port (чипсет). Иногда некорректно работают wi-fi адаптеры, подключенные по шине PCIe.

Как избавиться от корректируемых ошибок PCI-E, мешающих загрузке компьютера?
Для устранения проблем с загрузкой PC при наличии корректируемых ошибок по шине PCI-E можно использовать следующие способы (один из них или все сразу):
- отключить управление питанием PCI-E в активном состоянии (PCIe Active State Power Management или ASPM, а также PCI Express native power management в BIOS) и/или указать значение pcie_aspm=off в параметрах ядра Linux (строка GRUB_CMDLINE_LINUX_DEFAULT файла /etc/default/grub);
- отключить функцию расширенного отчета об ошибках (Advanced Error Reporting или AER) для шины PCI Express. Для этого можно использовать параметр pci=noaer в строке GRUB_CMDLINE_LINUX_DEFAULT файла /etc/default/grub;
- отключить использование прерываний Message Signaled Interrupts (MSI) для шины PCI Express — добавить значение pci=nomsi в строку GRUB_CMDLINE_LINUX_DEFAULT файла /etc/default/grub, а также удалить оттуда параметр msr.allow_writes=on (если он указан).
Автором на практике удалось побороть ошибки PCIe Bus Error: severity=Corrected, возникающие после включения OEM компьютера HP EliteDesk 800 G2 TWR с тремя видеокартами (с одним GPU проблем не возникало), модифицировав ядро системы в соответствии с советами, указанными выше. Компьютер прекрасно работает, производительность видеокарт при майнинге не пострадала.
Чтобы загрузить систему и модифицировать параметры загрузки системы, нужно отключить видеокарты, подключенные с помощью райзеров и загрузиться на встроенном GPU. Затем можно произвестиа модификацию linux kernel и решить проблему с загрузкой компьютера.
Кроме того, можно загрузиться с системного накопителя на другом, нормально работающем компьютере, модифицировать параметры загрузки и затем вернуть его обратно.
Для ремонта использовались следующие команды:
sudo nano /etc/default/grub
Параметр msr.allow_writes=on удален, добавлены значения pci=nomsi pci=noaer pcie_aspm=off
sudo update-grub
sudo reboot

Problem PCIe Bus Error: severity=Corrected solved!


