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
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"
は同じことを行います。