¿Cómo reanudar el proceso de ddrescue?

¿Cómo reanudar el proceso de ddrescue?

Tengo que recuperar mi disco duro USB de 1TB. Estoy usando ddrescuepara lograr esto. ¿Hay alguna forma de reanudarlo ddrescueuna vez que lo inicie?

Estoy usando el comando:

ddrescue /dev/sdd1 ./bye1t.dd_rescue.image

Respuesta1

ddrescatese puede reanudar, pero requiere un archivo de registro para poder hacerlo. El archivo de registro registrará el progreso que ddrescue ha realizado hasta el momento, y al reiniciar ddrescue se leerá el archivo de registro y comenzará donde lo dejó.

El archivo de registro sería el tercer parámetro:

ddrescue /dev/sdd1 ./bye1t.dd_rescue.image ~/sdd1.log

Si ya inició una ejecución de ddrescue sin un archivo de registro y la cancela, la próxima vez que se ejecute ddrescue, comenzará desde el principio ya que no tiene registro de lo que ya se ha recuperado.

Nota:ddrescateydd_rescueSon programas diferentes.

Respuesta2

Incluso si olvidó especificar un archivo de registro, puede haber esperanza:

modo generar

Entonces no leíste el tutorial e iniciaste ddrescue sin un archivo de registro. Ahora, dos días después, su computadora falló y no puede saber cuántos datos logró guardar ddrescue. Y peor aún, no se puede retomar el rescate; Tienes que reiniciarlo desde el principio.

O tal vez comenzó a copiar una unidad dd conv=noerror,syncy ahora se encuentra en la misma situación descrita anteriormente. En este caso, tenga en cuenta que no puede utilizar una copia realizada por dd a menos que haya sido invocada con el syncargumento de conversión.

No te desesperes (todavía). En algunos casos, Ddrescue puede generar un archivo de registro aproximado, a partir del archivo de entrada y la copia (parcial), que es casi tan bueno como un archivo de registro exacto. Lo hace simplemente asumiendo que los sectores que contienen todos ceros no fueron rescatados.

Sin embargo, si el destino de la copia era una unidad o una partición (o un archivo normal existente y no se solicitó el truncamiento), lo más probable es que necesite reiniciar ddrescue desde el principio. (Esta vez con un archivo de registro, por supuesto). La razón es que pueden haber datos antiguos en la unidad que aún no se han sobrescrito y, por lo tanto, es posible que no se hayan probado pero no sean cero.

Por ejemplo, si probó por primera vez uno de estos comandos:

ddrescue infile outfile

o

dd if=infile of=outfile conv=noerror,sync

puede generar un archivo de registro aproximado con este comando:

ddrescue --generate-mode infile outfile logfile

Respuesta3

Como han dicho otros, siempre debes especificar un archivo de registro como tercer parámetro, lo que permitirá reanudar. Como no hiciste eso, eso no te ayudará aquí. Si sabe aproximadamente a qué punto llegó el proceso, puede usar los parámetros --input-positiony --output-positionpara comenzar desde ese punto (asegúrese de establecer ambos parámetros en el mismo valor; de lo contrario, la salida se dañará).

Respuesta4

Porhttps://wiki.archlinux.org/index.php/Disk_cloningparece que con el conv=noerror,synccambio, ddde hecho agrega cerosal finalde un bloque, no exactamente donde ocurrieron los errores de lectura. Esto contradice la información contenida en la respuesta de Miles Wolbe del 29 de agosto de 2013.

Por ejemplo, si hay una secuencia correcta 198123283y hay un error de lectura en el medio, se escribirá 198283000, no 198000283.

Entonces, en caso de que realmente hubiera errores de lectura, el método propuesto no será exacto: habrá áreas que habrían sido legibles y terminarán llenas de ceros, pero se considerarán "rescatadas".

Por cierto, es una buena práctica comenzar un intento de recuperación llenando la unidad de destino con ceros (o al menos el espacio libre, lo que se puede hacer con WinHex, por ejemplo).

información relacionada