如何更改硬盘读取错误超时?

如何更改硬盘读取错误超时?

我正在使用 从硬盘恢复数据ddrescue。禁用“重试”后,每个不可读扇区大约需要 30 秒。硬盘有数万个坏扇区,这个过程需要很长时间。

我可以将读取错误超时缩短到 3 秒吗?也许使用 ATA 命令?内核选项?固件破解?

smartctl信息:

Device Model:     Hitachi HTS542525K9A300
Firmware Version: BBFOC3EP
User Capacity:    250,059,350,016 bytes
ATA Version is:   8
ATA Standard is:  ATA-8-ACS revision 3f

答案1

在 Linux 上,/sys/block/<deviceName>/device/timeout(例如/sys/block/sda/device/timeout)是超时设置(单位为秒),目前默认为 30。

在同一个目录中,有一个eh_timeout用于 SCSI 命令的值TEST UNIT READYREQUEST SENSE所以不是您要找的。

以 root 身份echo 1 > /sys/block/<deviceName>/device/timeout将超时时间更改为 1 秒。(或者,以 3 秒为例,输入 echo 3。)

sudo作为具有权限的非root用户,sudo bash -c "echo 1 > /sys/block/<deviceName>/device/timeout"将执行相同的操作。

相关内容