Linux 内核 6.19 版本近日合入了一项重要修复,针对特定型号的希捷 Barracuda 机械硬盘可能导致整条 SATA 总线掉线的问题,补丁已在 6.19 正式版前、即 6.19-rc2 发布前完成合并。此次受影响的硬盘为 Seagate ST2000DM008 这款 2TB 容量、7200 转/分钟的消费级机械硬盘,官方售价约 70 美元。

大约两个月前,有用户在 kernel.org 上提交了 bug 报告,称在较新的 Linux 内核版本中,其搭载多块 SATA SSD 和一块 HDD、并额外配有一块 NVMe 固态硬盘的系统,会在运行一段时间后出现整条 SATA 总线离线的情况。随着讨论推进,该问题在 Bugzilla 上累积了 40 多条评论,直到最近才被定位到根源在于这块有问题的希捷硬盘。
调查结果显示,Seagate ST2000DM008 在链路电源管理(Link Power Management,LPM)处理方面存在异常,在启用了 LPM 的新内核版本下,可能触发故障,进而导致整条 SATA 总线掉线,受影响的不仅是这块硬盘本身,也包括挂在同一控制器上的其他 SATA 设备。开发者发现,只要对这块具体型号的硬盘禁用 LPM,整机的 Serial ATA 总线就能恢复稳定。
为解决这一问题,Linux 6.19 中现已合入一条针对性的补丁代码:在内核中对 Seagate ST2000DM008-2FR102 这一具体型号进行识别,并强制为其关闭 LPM,以避免再次触发 SATA 总线故障。对于已经遇到类似问题的用户,除了通过升级或打补丁方式获取这一修复外,也可以在现有系统中手动使用模块参数“nolpm”来强制关闭 Link Power Management,以验证系统在禁用 LPM 后的运行情况。
了解更多:

