我的 SSD 驱动器是不是坏了?

我的 SSD 驱动器是不是坏了?

昨天我在 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 内存单元清除文章中所述(搜索它,由于以访客身份发帖,我无法链接它)

相关内容