
Parece que ddrescue intenta recuperar todos los bloques de un disco o partición, incluso los que no contienen archivos. ¿No sería posible descubrir qué bloques contienen realmente archivos mirando el sistema de archivos, por ejemplo, la tabla maestra de archivos en NTFS?
Editar: Parece que podría ser posible en combinación con partclone:
http://partclone.org/features/
Para una situación de rescate, el modo de rescate de Partclone intentaría omitir los bloques defectuosos y hacer una copia de seguridad de todos los bloques buenos para las particiones. El programa ddrescue es otra mejor solución para salvar un disco defectuoso y, con la ayuda de partclone, que enumera todos los bloques usados como archivos de dominio, podría hacer que ddrescue sea más inteligente y rápido al volcar una partición.
Ver también: http://sourceforge.net/p/partclone/mailman/partclone-user/thread/[correo electrónico protegido]/
Respuesta1
Respuesta corta: porque no es su propósito. Ddrescue hace una cosa (copiar 1:1 un disco duro defectuoso) y lo hace bien.
Respuesta2
No creo que esto sea posible, ya que ddrescue, como el propio dd, está diseñado para funcionar en cualquier dispositivo de bloque, incluso aquellos sin sistema de archivos o con uno dañado. Mirar el sistema de archivos, si existe, simplemente lo complicaría.
Respuesta3
Hilo antiguo pero podría ser útil para otros...
Si la entrada es un volumen formateado NTFS, puede usar ddru_ntfsbitmap de ddrutility para generar un archivo de mapa para ddrescue usando el archivo de sistema $Bitmap, que es precisamente un mapa de los clústeres usados/no utilizados en una partición NTFS. Por supuesto, requiere que el archivo $Bitmap esté intacto, ubicado en un área completamente legible, para funcionar correctamente (generalmente está ubicado al comienzo de la partición). Si ese es el caso, procede rápidamente (en mi primera y única experiencia hasta ahora, me tomó aproximadamente 2 minutos generar el archivo de mapa desde una partición de 1 TB). Luego ejecuta ddrescue con este comando básico:
ddrescue [options] [input path] [output path] [logfile] -m [mapfile]
En versiones recientes de ddrescue, el término "archivo de registro", como en el archivo donde se guardan las áreas rescatadas/no probadas/defectuosas del volumen de entrada durante la recuperación, ha sido reemplazado por "archivo de mapa", lo que hace que esto sea bastante confuso. . Entonces, si, por ejemplo, desea recuperar un disco duro llamado /dev/sdc en una imagen en /media/sdd1 llamada Recovery, usando un archivo de mapa generado por ddru_ntfsbitmap llamado Recovery_bitmap.log, el comando debería ser:
ddrescue [options] /dev/sdc /dev/sdd1/Recovery /dev/sdd1/Recovery.log -m /dev/sdd1/Recovery_bitmap.log
Respuesta4
La razón principal es probablemente que haría que ddrescue
el código de 's fuera significativamente más complejo, ya que necesitaría incorporar información sobre varios sistemas de archivos y analizar sus estructuras internas.
Sin embargo, incluso ignorando el esfuerzo de desarrollo adicional, tratar de descubrir qué bloques tienen datos es generalmente difícil. ddrescue
Normalmente se utiliza en situaciones en las que los datos ya están dañados y posiblemente sean inconsistentes. Intentar encontrar bloques usados es arriesgado en esa situación: ¿qué pasa si la lista de bloques libres está dañada (pero aún es legible)? O tal vez la versión actual de un archivo ya no sea recuperable, pero una versión anterior del archivo todavía esté presente en los bloques libres (debido a que el sistema de archivos no se sobrescribió en su lugar).
En ese caso, la única opción segura es apoderarse de todo y ordenar los detalles más tarde.