Как изменить время ожидания ошибки чтения жесткого диска?

Я восстанавливаю данные с жесткого диска, используя 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 READY а также REQUEST SENSEтак что не то, что вы ищете.

Как корень, echo 1 > /sys/block/<deviceName>/device/timeout изменит время ожидания до 1 секунды. (Или echo 3 для вашего 3 второго примера.)

Как пользователь без полномочий root, с sudo привилегии, sudo bash -c "echo 1 > /sys/block/<deviceName>/device/timeout" будет делать то же самое.

Другие вопросы по тегам