En el curso de intentar recuperar datos de un disco duro que falla , estoy ejecutando el comando ddrescue
.
El comando ha estado ejecutándose durante 9 días y, por el sonido de la actividad del disco, pensé que tal vez estaba haciendo algo. La salida de la línea de comando se ha visto más o menos estática todo este tiempo:
$ sudo ddrescue -r3 /dev/sdb /home/dave/RECOVERY/usb500.image /home/dave/recovery_usb500.logfile
Press Ctrl-C to interrupt
Initial status (read from logfile)
rescued: 0 B, errsize: 0 B, errors: 0
Current status
rescued: 0 B, errsize: 500 GB, current rate: 0 B/s
ipos: 2539 MB, errors: 1, average rate: 0 B/s
opos: 2539 MB, time from last successful read: 9.7 d
Splitting failed blocks...
La única parte que ha estado cambiando es donde dice ipos
y opos
. Tardaron 9 días en llegar 500000 MB
, que es el tamaño de la unidad de disco que falla. Sin embargo, cuando llegó allí, volvió a caer 0
y comenzó a levantarse nuevamente. Mientras escribo esto, se trata de 2580 MB
contar.
El archivo de imagen que se está creando tiene 0 bytes de longitud.
El archivo de registro tiene un tamaño de aproximadamente 3 MB y se ve así:
# Rescue Logfile. Created by GNU ddrescue version 1.14
# Command line: ddrescue -r3 /dev/sdb /home/dave/RECOVERY/usb500.image /home/dave/recovery_usb500.logfile
# current_pos current_status
0x975C3000 /
# pos size status
0x00000000 0x00862000 -
0x00862000 0x00014800 /
0x00876800 0x00800400 -
~~~~~~edited for brevity ~~~~~~~~
0x74702CCE00 0x00320000 -
0x74705ECE00 0x00025800 /
0x7470612600 0x005F3A00 -
Estoy empezando a preocuparme porque esto es solo una pérdida de tiempo y no se está recuperando ningún dato.
¿Hay alguna indicación de esta salida de que algo útil está sucediendo?
¿Hay alguna razón para dejar que el ddrescue
comando continúe como está, o debería detenerlo y hacer otra cosa?
Este es el contenido más reciente de /var/log/syslog
Jun 10 07:29:17 homebase-i3 kernel: [568470.316436] sd 5:0:0:0: [sdb] Sense Key : Medium Error [current]
Jun 10 07:29:17 homebase-i3 kernel: [568470.316443] sd 5:0:0:0: [sdb] Add. Sense: Unrecovered read error
Jun 10 07:29:17 homebase-i3 kernel: [568470.316450] sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 11 ff 02 98 00 00 08 00
Jun 10 07:29:17 homebase-i3 kernel: [568470.316465] end_request: critical target error, dev sdb, sector 301925016
Jun 10 07:29:17 homebase-i3 kernel: [568470.346640] sd 5:0:0:0: [sdb] Unhandled sense code
Jun 10 07:29:17 homebase-i3 kernel: [568470.346646] sd 5:0:0:0: [sdb] Result: hostbyte=invalid driverbyte=DRIVER_SENSE
Jun 10 07:29:17 homebase-i3 kernel: [568470.346651] sd 5:0:0:0: [sdb] Sense Key : Medium Error [current]
Jun 10 07:29:17 homebase-i3 kernel: [568470.346656] sd 5:0:0:0: [sdb] Add. Sense: Unrecovered read error
Jun 10 07:29:17 homebase-i3 kernel: [568470.346662] sd 5:0:0:0: [sdb] CDB: Read(10): 28 00 11 ff 02 98 00 00 08 00
fuente
--force
opción, no es correctaDebería poder detenerse,
ddrescue
ya que utiliza el archivo de registro para poder reiniciar su operación (cerrar) desde donde se quedó. Sin embargo, comprobaría si el archivo de registro se ha actualizado recientemente mirando la marca de tiempo o haciendotail -f /home/dave/recovery_usb500.logfile
.El hecho de que su archivo de imagen sea tan pequeño podría tener que ver con que aún no se hayan recuperado los bloques de la unidad con éxito. Sin embargo, ese sería un mal resultado después de todo este tiempo en ejecución. Suponiendo que solo haya algunos bloques defectuosos en el dispositivo y que no estén al principio, el estado de sus primeras entradas sería
+
. IIRCddrescue
comienza a leer hasta que encuentra un error y luego comienza a dividir el resto del disco. Su disco parece fallar desde el principio.A menos que haya (múltiples)
+
entradas en el registro y el tamaño de su archivo aún sería0
, no creo queddrescue
esté mal. No+
significa que nada de su disco sea recuperable. Eso podría significar electrónica frita o una mala cabeza, ya que en el caso de que algunos sectores estén defectuosos, habría tenido resultados mucho más rápidos.En cuanto a hacer otra cosa. Supongo que ya intentaste leer algunos bloques con dd normal. ¿Has mirado el syslog basado en eso y buscaste en Google algún mensaje que encontraste allí?
La búsqueda de "Resultado: hostbyte = driverbyte no válido = DRIVER_SENSE" da como resultado algunas lecturas interesantes (en parte alemanas) con algunas sugerencias más:
Aparte de enfriar un disco ilegible (con spray de enfriamiento), no he probado ninguno de estos.
fuente
dd
, ya que no sé qué es eso. Mi intuición es que la mayor parte de la unidad y los datos están intactos, pero hay alguna falla en alguna área crítica del disco donde tiene lugar la indexación o el listado de archivos.ddrescue
es una derivada dedd
eso que no se detiene cuando se encuentra un error. ¿Revisaste las+
señales?+
signos. Solo hay-
y\
signos.ddrescue
comience después de todo este tiempo. Si quieres podemos chatear (enlace arriba de esta página) sobre esto/var/log/syslog
a la pregunta.