Você pode ser capaz de detectá-lo novamente sem reinicializar, descarregando / carregando novamente o módulo correto (ou apenas desconectando e vinculando novamente o driver).
Por exemplo:
[ 978.527221] sd 11:0:0:1: [sdk] Attached SCSI removable disk
#~> echo 11:0:0:1 > /sys/bus/scsi/drivers/sd/unbind
#~> echo 11:0:0:1 > /sys/bus/scsi/drivers/sd/bind
[ 5572.027119] sd 11:0:0:1: [sdk] Attached SCSI removable disk
Ou se isso não funcionar e você não tiver outros dispositivos conectados ao mesmo controlador, você poderá desvincular e vincular todo o controlador, por exemplo, por meio de /sys/bus/pci/drivers/ahci/
se for AHCI.
Eu não tenho nenhum HDD defeituoso para testar se realmente funcionaria, mas usei esse método antes para forçar a re-detecção de cartões MicroSD / MMC em slots que não eram hot-pluggable por padrão.
Quanto a ddrescue
reduzindo a velocidade para zero, você pode querer ver se ele suporta a opção -a, --min-read-rate=<bytes>
, portanto, seria de se esperar? considere regiões lentas como defeituosas e pule-as. No pior dos casos, você terá que monitorar o disco do lado de fora e forçosamente reiniciar o ddrescue
.