昨天我在 dmesg 日志中发现了这个问题,我很担心,因为这是一个全新的驱动器。
你怎么认为 ?
[1681380.516688] ata1.00: status: { DRDY ERR }
[1681380.517264] ata1.00: error: { UNC }
[1681380.518303] ata1.00: configured for UDMA/100
[1681380.518309] ata1: EH complete
[1681380.518767] ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
[1681380.518994] ata1.00: irq_stat 0x40000008
[1681380.519523] ata1.00: failed command: READ FPDMA QUEUED
[1681380.520071] ata1.00: cmd 60/08:00:18:1e:81/00:00:02:00:00/40 tag 0 ncq 4096 in
[1681380.520071] res 41/40:00:18:1e:81/00:00:02:00:00/40 Emask 0x409 (media error) <F>
[1681380.521159] ata1.00: status: { DRDY ERR }
[1681380.521692] ata1.00: error: { UNC }
[1681380.522697] ata1.00: configured for UDMA/100
[1681380.522704] ata1: EH complete
[1681380.523166] ata1.00: exception Emask 0x0 SAct 0x1 SErr 0x0 action 0x0
[1681380.523400] ata1.00: irq_stat 0x40000008
[1681380.523861] ata1.00: failed command: READ FPDMA QUEUED
[1681380.524369] ata1.00: cmd 60/08:00:18:1e:81/00:00:02:00:00/40 tag 0 ncq 4096 in
[1681380.524370] res 41/40:00:18:1e:81/00:00:02:00:00/40 Emask 0x409 (media error) <F>
[1681380.525382] ata1.00: status: { DRDY ERR }
[1681380.525873] ata1.00: error: { UNC }
[1681380.526845] ata1.00: configured for UDMA/100
[1681380.526852] sd 1:0:0:0: [sda] Unhandled sense code
[1681380.526854] sd 1:0:0:0: [sda] Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[1681380.526858] sd 1:0:0:0: [sda] Sense Key : Medium Error [current] [descriptor]
[1681380.526863] Descriptor sense data with sense descriptors (in hex):
[1681380.526865] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00
[1681380.526874] 02 81 1e 18
[1681380.526878] sd 1:0:0:0: [sda] Add. Sense: Unrecovered read error - auto reallocate failed
[1681380.526883] sd 1:0:0:0: [sda] CDB: Read(10): 28 00 02 81 1e 18 00 00 08 00
[1681380.526892] end_request: I/O error, dev sda, sector 42016280
[1681380.527102] ata1: EH complete
[1681380.527104] EXT4-fs error (device sda1): ext4_find_entry: inode #1311883: (comm updatedb.mlocat) reading directory lblock 0
[1681380.527107] Aborting journal on device sda1-8.
[1681380.528161] EXT4-fs (sda1): Remounting filesystem read-only
答案1
是的。立即备份并替换。
答案2
是的。检查 SMART 状态以确认。
答案3
因为它是全新的驱动器,所以可以使用保修来更换。
否则,以下是如何触发坏块的重新分配:
找到造成问题的物理扇区,这里显示为扇区 42016280,在 dmesg 行中:
end_request: I/O error, dev sda, sector 42016280
通过尝试使用 hdparm 读取它来确认它是:
hdparm --read-sector 42016280 /dev/sda
如果确实是该扇区,您将收到输入/输出错误。通过使用 hdparm 写入此扇区来触发重新分配:
hdparm --write-sector 42016280 --yes-i-know-what-i-am-doing /dev/sda
尝试再次读取该扇区,它应该显示为填充了零。
或者,您可以尝试通过 e2fsck 调用 badblocks:
e2fsck -c /dev/sda
此命令运行非破坏性读取测试,有时足以修复一些读取错误问题。
最后,请检查制造商支持以了解具体问题,例如 Crucial M4 SSD 会因意外断电而出现问题,这可能会导致故障行为和无法尝试自动重新分配坏扇区。Crucial 支持建议执行电源周期
功劳归于Bas 的博客
-编辑- 如果一切都失败了,可以尝试通过 ata 安全擦除命令将 SSD 恢复为出厂默认设置,如 arch wiki SSD 内存单元清除文章中所述(搜索它,由于以访客身份发帖,我无法链接它)