我的 ASUS M4A87TD EVO 主板有两个板载磁盘控制器,其中一个是 JMicron JMB361,连接了一个旧 IDE 磁盘。当我启动 Arch Linux 时,它在系统日志中显示如下:
Nov 02 12:53:50 host kernel: ahci 0000:04:00.0: JMB361 has only one port
Nov 02 12:53:50 host kernel: ahci 0000:04:00.0: AHCI 0001.0000 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
Nov 02 12:53:50 host kernel: ahci 0000:04:00.0: flags: 64bit ncq pm led clo pmp pio slum part
Nov 02 12:53:50 host kernel: ata9: SATA max UDMA/133 abar m8192@0xfbffe000 port 0xfbffe100 irq 17
Nov 02 12:53:50 host kernel: ata10: SATA max UDMA/133 abar m8192@0xfbffe000 port 0xfbffe180 irq 17
Nov 02 12:53:50 host kernel: ata9: SATA link down (SStatus 0 SControl 300)
Nov 02 12:53:50 host kernel: ata10: softreset failed (1st FIS failed)
Nov 02 12:53:50 host kernel: ata10: softreset failed (1st FIS failed)
Nov 02 12:53:50 host kernel: ata10: softreset failed (1st FIS failed)
Nov 02 12:53:50 host kernel: ata10: limiting SATA link speed to 1.5 Gbps
Nov 02 12:53:50 host kernel: ata10: softreset failed (1st FIS failed)
Nov 02 12:53:50 host kernel: ata10: reset failed, giving up
我不知道设备 ata9 和 ata10 来自哪里。只有一个 IDE 磁盘连接到该控制器,并且已正确初始化。BIOS 没有显示与 ata9 或 ata10 相关的任何内容(并且不应该显示,因为那里没有连接任何东西),而且我还没有找到任何在 BIOS 中禁用它们的方法。
我想我已经找到了一种方法来禁用这两个设备的检测: 如何告诉 Linux Kernel > 3.0 完全忽略故障磁盘?但这没有任何区别。这就是我启动内核的方式:
Nov 02 12:53:50 host kernel: Linux version 3.17.2-1-ARCH (builduser@thomas) (gcc version 4.9.1 20140903 (prerelease) (GCC) ) #1 SMP PREEMPT Thu Oct 30 20:49:39 CET 2014
Nov 02 12:53:50 host kernel: Command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=2cfdc373-7023-48d7-a90d-43d030af277b rw libata.force=9:disable,10:disable quiet
系统最终成功启动,但失败的软重置使启动过程延迟了至少 90 秒。
答案1
显然,libata.force 禁用内核参数设置在该过程中应用得太晚了。 ATA 驱动程序在禁用设备之前首先尝试重置该设备。对我有用的是禁用重置以及具有此内核参数的设备libata.force=9:disable,9:norst,10:disable,10:norst
。
我仍然收到这些设备的一些内核日志条目,但只要控制台上没有显示任何内容并且系统立即启动,它们就不会打扰我:
Nov 08 01:19:39 host kernel: ata9: FORCE: link flag 0x6 forced -> 0x6
Nov 08 01:19:39 host kernel: ata9: SATA max UDMA/133 abar m8192@0xfbffe000 port 0xfbffe100 irq 17
Nov 08 01:19:39 host kernel: ata10: DUMMY
Nov 08 01:19:39 host kernel: ata9: SATA link down (SStatus 0 SControl 300)