<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>内核参数 on KnightLi的博客</title>
        <link>https://knightli.com/tags/%E5%86%85%E6%A0%B8%E5%8F%82%E6%95%B0/</link>
        <description>Recent content in 内核参数 on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Sun, 24 May 2026 00:41:23 +0800</lastBuildDate><atom:link href="https://knightli.com/tags/%E5%86%85%E6%A0%B8%E5%8F%82%E6%95%B0/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>pci=nomsi 和 pcie_aspm=off 详解：Linux 下 SATA 扩展卡不认盘、掉盘、卡死时该怎么排查</title>
        <link>https://knightli.com/2026/05/24/pci-nomsi-pcie-aspm-off-linux-sata-expansion-card/</link>
        <pubDate>Sun, 24 May 2026 00:41:23 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/24/pci-nomsi-pcie-aspm-off-linux-sata-expansion-card/</guid>
        <description>&lt;p&gt;在 Linux / Ubuntu 上使用 PCIe SATA 扩展卡时，很多人会遇到不认盘、运行一段时间掉盘、系统卡死，或者开机阶段卡在 PCIe 链路训练的问题。常见对象包括 JMB585、ASM1166 等 SATA 扩展卡，尤其是在 NAS、小主机、工控机、魔改主板或廉价转接卡环境里更容易出现。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;pci=nomsi&lt;/code&gt; 和 &lt;code&gt;pcie_aspm=off&lt;/code&gt; 是排查这类问题时经常用到的两个 Linux 内核参数。它们看起来都和 PCIe 有关，但解决的不是同一个问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pci=nomsi&lt;/code&gt; 主要处理 &lt;strong&gt;中断信号问题&lt;/strong&gt;，也就是设备和 CPU 之间的“通知方式”不稳定。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pcie_aspm=off&lt;/code&gt; 主要处理 &lt;strong&gt;PCIe 电源管理问题&lt;/strong&gt;，也就是链路进入省电状态后唤醒失败或信号不稳。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果把这两个参数混在一起理解，很容易变成玄学调参。更合理的做法是先看现象，再判断应该优先怀疑中断、链路省电，还是硬件本身。&lt;/p&gt;
&lt;h2 id=&#34;pcinomsi禁用消息信号中断&#34;&gt;pci=nomsi：禁用消息信号中断
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;pci=nomsi&lt;/code&gt; 可以拆开看：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PCI&lt;/code&gt;：外设部件互连相关设备。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;no&lt;/code&gt;：禁用。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;MSI&lt;/code&gt;：Message Signaled Interrupts，消息信号中断。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它的意思是：让 Linux 内核不要给 PCI 设备使用 MSI / MSI-X 中断机制，而是退回传统的 INTx 中断方式。&lt;/p&gt;
&lt;h2 id=&#34;msi-是什么&#34;&gt;MSI 是什么
&lt;/h2&gt;&lt;p&gt;传统硬件设备要通知 CPU “我有事要处理”，通常依赖物理中断引脚，也就是传统 IRQ。这个机制比较老，能用，但共享和扩展能力有限。&lt;/p&gt;
&lt;p&gt;后来出现了 MSI / MSI-X。设备不再一定要拉物理中断引脚，而是向特定内存地址写入一条消息。CPU 收到这条消息后，就知道哪个设备触发了中断。对现代系统来说，MSI / MSI-X 通常更灵活，也更适合高并发设备。&lt;/p&gt;
&lt;p&gt;问题在于，并不是每张 PCIe 扩展卡的固件都把 MSI 做得足够可靠。部分廉价扩展卡、二手拆机卡、桥接芯片方案，或者固件质量一般的 SATA 控制器，在 Linux 驱动下可能出现 MSI 消息异常、中断丢失或中断风暴。&lt;/p&gt;
&lt;p&gt;常见表现包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;开机检测 PCIe 扩展卡时卡住。&lt;/li&gt;
&lt;li&gt;SATA 扩展卡完全不认盘。&lt;/li&gt;
&lt;li&gt;系统随机卡死。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dmesg&lt;/code&gt; 中出现类似 &lt;code&gt;irq xx: nobody cared&lt;/code&gt; 的报错。&lt;/li&gt;
&lt;li&gt;某张卡在 Windows 下看似正常，但 Linux 下很不稳定。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这类问题的核心不是硬盘本身，也不是文件系统，而是设备和 CPU 之间的中断通信方式不可靠。&lt;/p&gt;
&lt;h2 id=&#34;加上-pcinomsi-后会发生什么&#34;&gt;加上 pci=nomsi 后会发生什么
&lt;/h2&gt;&lt;p&gt;启用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pci=nomsi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;等于告诉 Linux 内核：不要让 PCI 设备使用高级的 MSI 消息中断，统一退回传统 INTx 中断模式。&lt;/p&gt;
&lt;p&gt;这可能带来一点性能和并发效率损失，尤其是在高吞吐、高中断频率设备上。但对家用 NAS、SATA 扩展卡、普通机械硬盘阵列来说，实际影响通常不明显。它的价值在于绕过某些设备固件或桥接芯片的 MSI 兼容性问题，让系统能稳定识别设备并处理 I/O。&lt;/p&gt;
&lt;p&gt;简单说，&lt;code&gt;pci=nomsi&lt;/code&gt; 处理的是“设备通知 CPU 的方式不靠谱”。&lt;/p&gt;
&lt;h2 id=&#34;pcie_aspmoff禁用-pcie-活动状态电源管理&#34;&gt;pcie_aspm=off：禁用 PCIe 活动状态电源管理
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;pcie_aspm=off&lt;/code&gt; 也可以拆开看：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;PCIe&lt;/code&gt;：PCI Express，高速串行扩展总线。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ASPM&lt;/code&gt;：Active State Power Management，活动状态电源管理。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;off&lt;/code&gt;：关闭。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它的意思是：关闭 PCIe 链路的省电机制，让 PCIe 链路不要进入低功耗状态。&lt;/p&gt;
&lt;h2 id=&#34;aspm-是什么&#34;&gt;ASPM 是什么
&lt;/h2&gt;&lt;p&gt;ASPM 是 PCIe 总线上的省电机制。当系统发现某条 PCIe 链路暂时没有数据传输时，可以把链路切到低功耗状态，例如 L0s 或 L1。等设备再次有数据读写时，再把链路唤醒回正常工作状态。&lt;/p&gt;
&lt;p&gt;在设计良好的硬件上，这套机制可以降低功耗，而且对用户几乎无感。但在一些消费级主板、小主机、工控机、廉价 SATA 扩展卡、转接板或信号质量一般的硬件上，问题会出在“睡下去以后醒不稳”。&lt;/p&gt;
&lt;p&gt;典型情况是：JMB585、ASM1166 这类 PCIe SATA 扩展卡在空闲后进入低功耗状态，下一次访问硬盘时链路需要从 L1 唤醒。如果控制器、主板、转接线、供电或固件质量不够好，唤醒可能太慢，或者链路恢复时发生物理层抖动。Linux 内核就可能认为设备短暂失联。&lt;/p&gt;
&lt;p&gt;常见 &lt;code&gt;dmesg&lt;/code&gt; 表现包括：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pcieport 0000:00:1c.0: PCIe Bus Error: severity=Corrected, type=Physical Layer
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ata1: link is slow to respond, please be patient
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ata1: COMRESET failed (errno=-16)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;随后可能出现：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;硬盘掉线。&lt;/li&gt;
&lt;li&gt;阵列降级。&lt;/li&gt;
&lt;li&gt;文件系统变成只读。&lt;/li&gt;
&lt;li&gt;NAS 服务异常。&lt;/li&gt;
&lt;li&gt;系统 I/O 卡死。&lt;/li&gt;
&lt;li&gt;重启后硬盘又暂时恢复正常。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这类问题最烦的地方在于，它不一定开机就出现，往往是运行一段时间、空闲后唤醒、或高负载切换时突然发生。&lt;/p&gt;
&lt;h2 id=&#34;加上-pcie_aspmoff-后会发生什么&#34;&gt;加上 pcie_aspm=off 后会发生什么
&lt;/h2&gt;&lt;p&gt;启用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pcie_aspm=off
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;等于告诉内核：关闭全系统 PCIe ASPM 省电功能。PCIe 链路不管空闲还是忙碌，都尽量保持在正常连接状态，不要进入低功耗睡眠。&lt;/p&gt;
&lt;p&gt;副作用是功耗可能略有上升。对台式机、NAS、小主机来说，通常只是几百毫瓦到一两瓦级别；对笔记本来说，可能会影响续航。它换来的好处是减少因为 PCIe 链路睡眠和唤醒造成的掉盘、链路训练错误和物理层报错。&lt;/p&gt;
&lt;p&gt;简单说，&lt;code&gt;pcie_aspm=off&lt;/code&gt; 处理的是“PCIe 链路睡着后醒不稳”。&lt;/p&gt;
&lt;h2 id=&#34;两个参数的区别&#34;&gt;两个参数的区别
&lt;/h2&gt;&lt;p&gt;可以把它们理解成两类不同问题：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;参数&lt;/th&gt;
          &lt;th&gt;解决的核心问题&lt;/th&gt;
          &lt;th&gt;常见表现&lt;/th&gt;
          &lt;th&gt;主要副作用&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;pci=nomsi&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;中断信号冲突、MSI / MSI-X 兼容性差&lt;/td&gt;
          &lt;td&gt;开机卡死、完全不认盘、&lt;code&gt;irq xx: nobody cared&lt;/code&gt;、系统死机&lt;/td&gt;
          &lt;td&gt;极高并发下中断效率可能下降&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;pcie_aspm=off&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;PCIe 省电唤醒失败、链路信号不稳&lt;/td&gt;
          &lt;td&gt;刚开机正常，运行一会儿掉盘，&lt;code&gt;PCIe Bus Error&lt;/code&gt;、&lt;code&gt;COMRESET failed&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;功耗略升，笔记本续航略降&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;所以它们不是互相替代关系。一个管中断，一个管链路电源管理。&lt;/p&gt;
&lt;p&gt;如果机器开机阶段就卡死、设备完全不认，优先怀疑 &lt;code&gt;pci=nomsi&lt;/code&gt;。如果开机正常、运行一段时间后掉盘，或者 &lt;code&gt;dmesg&lt;/code&gt; 里有 PCIe Physical Layer、COMRESET、link is slow to respond 之类信息，优先怀疑 &lt;code&gt;pcie_aspm=off&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;是否应该两个一起加&#34;&gt;是否应该两个一起加
&lt;/h2&gt;&lt;p&gt;很多 NAS 玩家会直接同时加：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pci=nomsi pcie_aspm=off
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这确实是快速排查的办法，尤其是在 JMB585、ASM1166、小主机、转接卡、供电和线材都不太确定的环境里。它可以同时绕开 MSI 兼容性问题和 ASPM 唤醒问题。&lt;/p&gt;
&lt;p&gt;但从排障角度，更推荐先记录现象和日志：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;如果是中断报错或启动卡死，先试 &lt;code&gt;pci=nomsi&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;如果是运行后掉盘、PCIe Bus Error、COMRESET，先试 &lt;code&gt;pcie_aspm=off&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;如果问题严重且急着恢复稳定，可以两个一起加，稳定后再拆开验证。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这样能知道到底是哪一类问题导致的，后续换卡、换槽、换主板或调整 BIOS 时更有依据。&lt;/p&gt;
&lt;h2 id=&#34;ubuntu--debian-中如何永久生效&#34;&gt;Ubuntu / Debian 中如何永久生效
&lt;/h2&gt;&lt;p&gt;编辑 Grub 配置文件：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo nano /etc/default/grub
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;找到这一行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GRUB_CMDLINE_LINUX_DEFAULT=&amp;#34;quiet splash&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;在双引号内追加参数，参数之间用空格隔开。例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GRUB_CMDLINE_LINUX_DEFAULT=&amp;#34;quiet splash pci=nomsi pcie_aspm=off&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;保存并退出。如果使用 Nano，按 &lt;code&gt;Ctrl+O&lt;/code&gt; 保存，回车确认，再按 &lt;code&gt;Ctrl+X&lt;/code&gt; 退出。&lt;/p&gt;
&lt;p&gt;更新 Grub 并重启：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo update-grub
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo reboot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;重启后，可以查看当前内核启动参数是否已经生效：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat /proc/cmdline
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果输出里能看到 &lt;code&gt;pci=nomsi&lt;/code&gt; 和 &lt;code&gt;pcie_aspm=off&lt;/code&gt;，说明参数已经进入当前内核启动命令行。&lt;/p&gt;
&lt;h2 id=&#34;还应该检查哪些地方&#34;&gt;还应该检查哪些地方
&lt;/h2&gt;&lt;p&gt;这两个参数很有用，但它们不是所有掉盘问题的万能解法。排查 SATA 扩展卡和 NAS 掉盘时，也建议同时检查：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SATA 数据线是否松动或质量太差。&lt;/li&gt;
&lt;li&gt;硬盘供电是否稳定，尤其是多盘同时启动时。&lt;/li&gt;
&lt;li&gt;PCIe 插槽是否接触不良。&lt;/li&gt;
&lt;li&gt;扩展卡是否过热。&lt;/li&gt;
&lt;li&gt;主板 BIOS 是否有 PCIe ASPM、Above 4G Decoding、PCIe speed 等相关选项。&lt;/li&gt;
&lt;li&gt;SATA 扩展卡固件是否有已知问题。&lt;/li&gt;
&lt;li&gt;系统日志中是否有硬盘本体坏道、I/O error 或 SMART 告警。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果硬盘 SMART 已经报错，或者供电本身不稳，单靠内核参数无法真正解决问题。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;pci=nomsi&lt;/code&gt; 和 &lt;code&gt;pcie_aspm=off&lt;/code&gt; 都常用于 Linux 下 PCIe SATA 扩展卡不稳定的排查，但它们解决的是两条不同链路：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pci=nomsi&lt;/code&gt;：关闭 MSI / MSI-X，绕开中断通信兼容性问题。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pcie_aspm=off&lt;/code&gt;：关闭 PCIe ASPM，避免链路省电后唤醒失败。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;对 JMB585、ASM1166、NAS、小主机和廉价 PCIe 扩展卡来说，这两个参数确实经常能救场。更稳妥的做法是先看 &lt;code&gt;dmesg&lt;/code&gt;，判断是中断问题还是链路省电问题，再决定单独使用还是一起使用。&lt;/p&gt;
&lt;p&gt;它们是排障工具，不是硬件质量的替代品。如果加上参数后系统稳定了，说明问题大概率在中断兼容性或 PCIe 电源管理上；如果仍然掉盘，就要继续检查供电、线材、散热、硬盘健康和扩展卡本身。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
