我在 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 设备工作并可能出现一些启动问题:
当然,前提是你有一些 MSI 设备。