写入坏扇区会导致之后的所有其他操作失败

写入坏扇区会导致之后的所有其他操作失败

我的硬盘有几个坏块,因此我尝试获取所有坏块的列表,以便在创建新的 ext4 文件系统时绕过它们,如下所示:

badblocks -wsv -o badblocks_sdf.txt /dev/sdf

一旦真正遇到坏块,其后的每个其他块都会失败。

我的系统日志充满了这些消息:

[91197.287574] blk_update_request: I/O error, dev sdf, sector 4563147104
[91202.286344] scsi_io_completion: 126841 callbacks suppressed
[91202.286352] sd 3:0:0:0: [sdf] tag#0 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
[91202.286360] sd 3:0:0:0: [sdf] tag#0 CDB: Read(16) 88 00 00 00 00 01 0f ff f8 50 00 00 00 08 00 00
[91202.286362] blk_update_request: 126841 callbacks suppressed
[91202.286364] blk_update_request: I/O error, dev sdf, sector 4563400784
[91202.286956] sd 3:0:0:0: [sdf] tag#0 FAILED Result: hostbyte=DID_BAD_TARGET driverbyte=DRIVER_OK
[91202.286962] sd 3:0:0:0: [sdf] tag#0 CDB: Read(16) 88 00 00 00 00 01 0f ff f8 50 00 00 00 08 00 00

这是预期的行为吗?可以做些什么来解决这个问题?

答案1

现代硬盘采用 SMART 技术,可以重新分配“坏块”,使它们不会出现在文件系统中。如果该机制失败,您遇到了应该重新分配的扇区,那么硬盘实际上会损坏其 cookie,并且在许多情况下,直到硬盘断电后才能访问。我们在 20 世纪 90 年代初经常看到的另一件事是坏扇区 ID。每个扇区都有一个由操作系统请求的 ID 字节,如果您请求该扇区,硬盘会因为找不到它而锁定。几乎不可能确定这两种情况是具体原因;但是,在进行数据恢复时,我经常需要从头到错误处进行克隆,然后从末尾向后进行第二次克隆。无论哪种情况,您都不应该信任该硬盘,我真心希望您不要将您关心的任何东西放在上面。

相关内容