
Estoy en medio de un proceso de recuperación de datos de una unidad que falla (consulte¿Cómo puedo saber qué archivos se pierden mediante un intento de recuperación de ddrescue?). Debo decir que no tengo experiencia con la gestión de discos a este nivel. Siguiendo la respuesta aceptada allí, he hecho esto:
- Hizo una copia del disco defectuoso
ddrescue
y procesó el archivo de mapa para usarlotestb
endebugfs
. Conté 248 cheques en bloque. - Al ejecutar todos esos
testb
comandos, encontré que 236 estaban "no en uso" y 12 "marcados en uso". Éste fue el primer resultado sorprendente, ya que el disco estaba casi lleno. - Lo hice
icheck
en esos 12 bloques y descubrí, para mi mayor sorpresa, que 8 de ellos dieron un resultado de "bloque no encontrado". No he podido descubrir qué significa esto, ya que la gente menciona errores de lectura y esas cosas, pero estoy haciendo todo esto en el nuevo disco. - De los 4 bloques restantes, obtuve los inodos y encontré
ncheck
los 3 archivos supuestamente corruptos (dos archivos eran iguales porque dos bloques mal usados tenían el mismo inodo).
Suponiendo que mi código y mis cálculos sean correctos (puede encontrar los datos y el código Python enhttps://filebin.ca/3KZLnN60uZrl/rescue2.7zsi tiene curiosidad), ¿es correcto el resultado final de 3 archivos corruptos? ¿O en algún momento las cosas no significan lo que pensaba y puede haber otros archivos que solo puedo localizar con un procedimiento diferente?