“pci=noaer” 或 “pci=nomsi” 是什么意思?

“pci=noaer” 或 “pci=nomsi” 是什么意思?

我在 HP 笔记本电脑上安装 Ubuntu 时遇到了问题。它曾经出现一些与和平巴士相关的错误。

我不明白这个错误,但在访问了许多网站后我找到了解决方案。

该解决方案要求我添加一个参数“pci=nomsi”在启动时进入内核。

然后通过更新“ /etc/default/grub”使其永久生效。

我尝试了这个解决方案并且效果很好。

但我想知道,什么是 pci 总线,以及该命令是什么意思?

答案1

Linux 内核已编译带有某些参数 - 简单来说就是与硬件和内核行为相关的特殊“设置”。这些设置可以视为默认设置。当您添加此类设置时,/etc/default/grub它们会修改内核的默认设置。

根据文档

nomsi [MSI] 如果启用了 PCI_MSI 内核配置参数,则此内核启动选项可用于在系统范围内禁用 MSI 中断。

noaer [PCIE] 如果启用了 PCIEAER 内核配置参数,则可以使用此内核启动选项来禁用 PCIE 高级错误报告。

简而言之,nomsi禁用微星(如果我没记错的话,这是一种从硬件向内核发出中断信号的特殊方式)并noaer禁用高级错误报告。我怀疑高级错误报告会导致启动问题。我猜是某些硬件没有很好地实现 MSI,或者内核无法使用 MSI 与该硬件通信,但这只是猜测。

答案2

@sergiy-kolodyazhnyy 我可以证实你的假设,pci=nomsi阻止 msi 设备工作并可能出现一些启动问题:

usb 端口突然停止工作 - Ubuntu

当然,前提是你有一些 MSI 设备。

相关内容