¿Cómo puedo copiar parcialmente un archivo de un disco roto?

10

Tengo un disco roto del que necesito copiar un archivo 60G.

De vez en cuando el disco se reinicia y no puedo terminar la copia.

Me gustaría intentar copiar partes parciales y ponerlas todas juntas.

¿Cómo puedo hacer esto?

nsn
fuente
La forma anticuada (vieja escuela) sería usar dd.
G-Man dice 'Restablecer a Monica'
1
Otra opción es usar, por ejemplo split -b[bytes] yourbigFile
Valentin Bajrami
3
Si está intentando copiar el archivo desde un disco defectuoso, ddrescueo no, probablemente lo esté haciendo mal. Debido a que el archivo depende del sistema de archivos, y debido a que es muy probable que el archivo no sea contiguo, hacer las lecturas para obtenerlo del dispositivo defectuoso casi definitivamente requerirá más búsqueda de disco de la que puede permitirse fácilmente. Imaginaría el dispositivo de bloque en un dispositivo bueno conocido tan cerca de una sola pasada como pudiera, y luego enfocaría los esfuerzos de recuperación en el archivo de imagen montado tanto como sea posible.
mikeserv

Respuestas:

14

Uso ddrescue, que está diseñado para este tipo de escenario.

Utiliza un archivo de registro para realizar un seguimiento de las partes de los datos que ha copiado correctamente, o de lo contrario. Como resultado, puede detenerlo y reiniciarlo tantas veces como sea necesario, siempre que se mantenga el archivo de registro.

Ver Ddrescue - Herramienta de recuperación de datos

roaima
fuente
4

Uso dd.

Puede hacer mucho, pero necesita el siguiente formulario:

dd if=<source> of=<destination> bs=<block size> count=<blocks> skip=<offset>

Por ejemplo, para copiar del segundo al cuarto kilobyte de un archivo, haría lo siguiente:

dd if=in.dat of=out.dat bs=1K count=2 skip=2

Dados los detalles de lo que está tratando de hacer, también puede intentar agregar conv=sync,noerror:

dd if=in.dat of=out.dat bs=1K count=2 skip=2 conv=sync,noerror

El noerrorlo hace tratar de seguir cuando se encuentra un error, y la synchace lo bloquea almohadilla fallado con ceros. Entonces, idealmente, obtendría el archivo que desea, pero con ceros para los bloques que no podría leer. Sin embargo, depende de su disco duro lo que realmente hará. Algunos discos duros simplemente se apagan cuando ven un error, y aún así no obtendrá sus datos.

marinus
fuente