Cómo recuperar los archivos de un CD-ROM o DVD que parece ilegible.

Cómo recuperar los archivos de un CD-ROM o DVD que parece ilegible

Miguel Menéndez

El disco (limpiado cuidadosamente) no es montado automáticamente, ni es posible montarlo a mano. El disco se queda girando in aeternum en el lector y el kernel escupe cosas feas…

Cosas como:

sr 3:0:0:0: [sr0] tag#0 FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE cmd_age=3s
sr 3:0:0:0: [sr0] tag#0 Sense Key : Medium Error [current]
sr 3:0:0:0: [sr0] tag#0 Add. Sense: Unrecovered read error
sr 3:0:0:0: [sr0] tag#0 CDB: Read(10) 28 00 00 04 25 e2 00 00 01 00
blk_update_request: critical medium error, dev sr0, sector 1087368 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
Buffer I/O error on dev sr0, logical block 271842, async page read

Lo daba por perdido hasta que apareció GNU al rescate…

gddrescue

GNU ddrescue es una herramienta de recuperación de datos. Copia datos de un archivo o dispositivo de bloque (disco duro, CD-ROM, DVD…) a otro, intentando rescatar primero las partes buenas en caso de errores de lectura.

Ejecuté el comando:

$ ddrescue -d -b2048 /dev/sr0 cdimage mapfile

Y tras algo menos de 20 minutos había recuperado el 99,95% del contenido del CD-ROM.

GNU ddrescue 1.23

Press Ctrl-C to interrupt

ipos:  566210 kB, non-trimmed:        0 B,  current rate:       0 B/s
ipos:  566210 kB, non-trimmed:        0 B,  current rate:       0 B/s
opos:  566210 kB, non-scraped:   221696 B,  average rate:    353 kB/s
non-tried:        0 B,  bad-sector:    58880 B,    error rate:       0 B/s
rescued:  568123 kB,   bad areas:       10,        run time:     26m 46s
pct rescued:   99.95%, read errors:      126,  remaining time:         n/a
time since last successful read:      8m 38s
Scraping failed blocks... (forwards)
Interrupted by user

Una segunda ejecución del mismo comando durante 10 minutos no consiguió mejorar ese más que digno resultado del 99,95% recuperado.

La imagen resultante se puede abrir y extraer con Ark.

Referencia: https://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html

Imagen de cabecera: freeimages.com/pseudoxx

Comentarios

¿Has encontrado un error? ¿Crees que algo podría mejorarse? No dudes en comentármelo y estaré encantado de echarle un vistazo.