web-dev-qa-db-ja.com

hdd読み取りエラータイムアウトを変更するにはどうすればよいですか?

ddrescueを使用してhddからデータを回復しています。 「再試行」を無効にすると、読み取り不可能なセクターごとに約30秒かかります。 hddには何万もの不良セクタがあり、プロセスは永遠にかかります。

読み取りエラーのタイムアウトをたとえば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
5
netvope

Linuxでは、/sys/block/<deviceName>/device/timeout/sys/block/sda/device/timeoutなど)は秒単位のタイムアウト設定であり、現在のデフォルトは30です。

同じディレクトリに、SCSIコマンドeh_timeoutおよびTEST UNIT READYに使用されるREQUEST SENSE値があるため、探しているものではありません。

Rootとして、echo 1 > /sys/block/<deviceName>/device/timeoutはタイムアウトを1秒に変更します。 (または、3秒の例として3をエコーし​​ます。)

Sudo権限を持つ非rootユーザーとして、Sudo bash -c "echo 1 > /sys/block/<deviceName>/device/timeout"は同じことを行います。

4
user1902689