
Ayer lo usé ddrescue
con suerte para recuperar una copia 1:1 y la almacené como una imagen en una nueva unidad. Supongamos que leo al revés, porque sé que hay un clúster defectuoso al comienzo de la unidad que falla, es decir, con -R
el interruptor, desde la página de manual:
-R --reverse
Invierta la dirección de todos los pases (copiar, recortar, raspar y volver a intentar). Cada pase que normalmente se realiza hacia adelante ahora se realizará hacia atrás y viceversa. '
--reverse
' no modifica el tamaño de los bloques copiados durante cada fase, sólo el orden en que se prueban.
Por supuesto, solía mapfile
poder reiniciar el proceso.
Además, utilicé acceso directo; se supone que no todas las unidades admiten esto, pero la mía sí.
La línea de comando completa que utilicé es la siguiente:
ddrescue -d -R /dev/sdb baddrive.ddrescue.img baddrive.ddrescue.log
El resultado es 1 error de 4096 bytes de tamaño.
Parte relevante de lo mapfile
siguiente:
# current_pos current_status
0x1375BCE00 +
# pos size status
0x00000000 0x1375BC000 +
0x1375BC000 0x00001000 -
0x1375BD000 0xE7A97F9000 +
Pregunta
¿Es posible volver a intentarlo con el clúster defectuoso unas 100 veces solo para asegurarse de que esté totalmente muerto?
Respuesta1
Sí, es posible.
Necesitas modificar la mapfile
línea 's:
0x1375BC000 0x00001000 -
para contener un signo de interrogación al final así:
0x1375BC000 0x00001000 ?
Ahora está listo para reiniciar el proceso de recuperación, solo necesita agregar la opción de reintento allí:
-r n --retry-passes=n
Salga después del número indicado de reintentos. El valor predeterminado es 0. -1 significa infinito. Cada sector defectuoso se intenta solo una vez en cada pasada. Para reintentar sectores defectuosos detectados en una ejecución anterior, debe especificar un número de reintentos distinto de cero.