¿Cómo puedo recuperar archivos de un disco duro defectuoso?

Estoy en el proceso de intentar recuperar archivos de un disco duro defectuoso de MacBook. Si bien ya reemplacé la unidad en la máquina e instalé una copia nueva de OS X, tengo la unidad anterior en una carcasa SATA externa de 2,5". Puedo (muy, muy lentamente) ver la estructura del directorio y copiar archivos, pero es un proceso increíblemente lento y un archivo fallido lo detiene todo. Si bien sé que existen utilidades de recuperación de disco pagas, solo estoy buscando algo que intente copiar todos los archivos y directorios desde dentro de un directorio dado y simplemente omita los que no se pueden copiar (idealmente, también me gustaría saber qué archivos se omiten, pero eso no es un requisito).

Respuestas (1)

Puede usar ddrescue para intentar clonar el volumen sin procesar (hay algunas notas sobre cómo ejecutarlo en OS X en tinyapps.org ). Básicamente trata de leer una y otra vez, obteniendo la mayor cantidad posible del disco.

Esto no es ideal para su situación, ya que 1) necesita suficiente espacio libre en el disco (ya sea un volumen o una imagen de disco) para almacenar todo el disco, incluido el espacio libre (es decir, si fuera un disco de 200 GB con 10 GB de archivos, necesita 200 GB para mantener el clon); y 2) no le dice qué archivos no pudo leer (puede mirar el registro y ver qué bloques no ha podido leer, pero averiguar de qué archivos forman parte esos bloques no es trivial) .

La buena noticia es que, gracias a su archivo de registro, si se perdió algo que necesita (y no ha modificado el volumen de destino en absoluto; se recomienda el montaje de solo lectura), puede ejecutarlo nuevamente y elegirá hasta donde lo dejó, y siga martillando los bloques difíciles hasta que entreguen sus datos.

¡Gracias por esto! Lo estoy ejecutando ahora, así que veremos si va a funcionar esta noche. Planeo usar DiskWarrior en la imagen resultante para ver si puede reconstruir el directorio.
Sin embargo, una cosa que me confunde... los documentos parecen indicar que puede reanudar el escaneo, pero no veo nada allí sobre volver a intentar bloques/sectores fallidos (re: su último párrafo). ¿Más información sobre cómo hacer eso? ¿Puedo simplemente ejecutar paso tras paso en la misma unidad e imagen y actualizará la imagen con cualquier bloque fallido anteriormente que ahora tenga éxito?
Sí, solo actualiza la imagen a medida que recupera bloques (es por eso que es importante montarlo en modo de solo lectura, de lo contrario, es posible que los bloques recuperados ya no coincidan con el diseño del archivo modificado). IIRC ejecutándolo con -r -1él volverá a intentar los bloques defectuosos para siempre o hasta que tenga éxito.
Si bien esto terminó tomando SEMANAS, logré recuperar los datos. ¡Muchas gracias!
¡Guau! Marque uno por persistencia... Me alegro de que haya funcionado.
@GordonDavisson "Básicamente intenta leer una y otra vez [..]" No del todo. Desde los documentos de gddrescue , ddrescueinicialmente salta bloques ilegibles o áreas de lectura lenta. Después de terminar con todo el contenido que se leyó y copió fácilmente, vuelve a los sectores problemáticos para, como máximo, una lectura más (por defecto) de un sector no leído. De los documentos: "Cada sector se prueba como máximo dos veces; el primero en este paso [de copia] como parte de una lectura de bloque grande, el segundo en uno de los pasos a continuación como lectura de un solo sector".
@AdamRobinson Si lo usa ddrescuecon un archivo de registro, puede pausar el proceso en cualquier momento, dejar que la unidad se enfríe y luego reanudar el proceso donde lo dejó. No hay necesidad de dejarlo trabajar continuamente durante semanas.