Tengo que recuperar mi USB HD de 1TB. Estoy usando ddrescue
para lograr esto. ¿Hay alguna manera de que pueda reanudar ddrescue
una vez que lo inicie?
Estoy usando el comando:
ddrescue /dev/sdd1 ./bye1t.dd_rescue.image
hard-drive
ddrescue
confiq
fuente
fuente
Incluso si olvidó especificar un archivo de registro, puede haber esperanza:
Modo de generación
Entonces no leyó el tutorial y comenzó a ddrescue sin un archivo de registro. Ahora, dos días después, su computadora se bloqueó y no puede saber cuántos datos ddrescue logró guardar. Y lo que es peor, no puedes reanudar el rescate; tienes que reiniciarlo desde el principio.
O tal vez comenzó a copiar una unidad
dd conv=noerror,sync
y ahora se encuentra en la misma situación descrita anteriormente. En este caso, tenga en cuenta que no puede usar una copia hecha por dd a menos que se invoque con elsync
argumento de conversión.No te desesperes (todavía). Ddrescue puede en algunos casos 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. Hace esto simplemente asumiendo que los sectores que contienen todos los ceros no fueron rescatados.
Sin embargo, si el destino de la copia era una unidad o una partición (o no se solicitó un archivo y truncamiento regular existente), lo más probable es que deba reiniciar ddrescue desde el principio. (Esta vez con un archivo de registro, por supuesto). La razón es que los datos antiguos pueden estar presentes en la unidad que aún no se han sobrescrito y, por lo tanto, pueden no probarse pero no son cero.
Por ejemplo, si primero probó uno de estos comandos:
o
Puede generar un archivo de registro aproximado con este comando:
fuente
Como han dicho otros, siempre debe especificar un archivo de registro como el tercer parámetro, que permitirá reanudar. Como no lo hiciste, eso no te ayudará aquí. Si sabe aproximadamente a qué punto llegó el proceso, puede usar los parámetros
--input-position
y--output-position
para comenzar desde ese punto (asegúrese de establecer ambos parámetros en el mismo valor, de lo contrario la salida se dañará).fuente
Como no especificó un archivo de registro como tercer parámetro, no se puede reanudar automáticamente. Puede crear un archivo de registro a mano si conoce los sectores ya rescatados, la sintaxis es fácil. Simplemente inicie otro rescate ficticio a otro archivo mientras especifica un registro y deje que lea diferentes áreas. Luego edite el registro para representar las áreas ya rescatadas en su primer archivo. Ahora vuelva a ejecutar su comando anterior pero dé el nombre del archivo de registro como el tercer parámetro. ddrescue se reanudará en el primer sector no probado.
fuente
Según https://wiki.archlinux.org/index.php/Disk_cloning , parece que con el
conv=noerror,sync
interruptor,dd
de hecho, agrega ceros al final de un bloque, no exactamente donde ocurrieron los errores de lectura. Esto es contrario a la información en la respuesta de Miles Wolbe del 2013-08-29.Por ejemplo, si hay una secuencia correcta
198123283
y hay un error de lectura en el medio, escribirá198283000
, no198000283
.Entonces, en caso de que haya errores de lectura, el método propuesto no será preciso: habrá áreas que habrían sido legibles y que terminarían llenas de ceros, pero se considerarían "rescatadas".
Por cierto, es una buena práctica comenzar tal intento de recuperación llenando el disco de destino con ceros (o al menos el espacio libre, que se puede hacer con WinHex, por ejemplo).
fuente