Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo solucionar problemas de ddrescue en linux

 Le pedimos a Gemini, la inteligencia artificial de Google que nos explique cómo solucionar problemas de ddrescue en linux

Explicanos detalladamente cómo solucionar problemas de ddrescue en linux

Usar GNU ddrescue suele ser un acto de desesperación o de extrema precaución. Cuando esta herramienta falla o se comporta de forma errática, el estrés aumenta porque sentimos que estamos perdiendo la última oportunidad de salvar nuestros datos.

Aquí tienes una guía detallada para diagnosticar y solucionar los problemas más comunes que surgen durante un rescate.

1. El proceso parece "congelado" o es extremadamente lento

Es el problema más común. El disco encuentra una zona dañada y ddrescue se queda minutos intentando leer un solo bloque.

La Causa: Estás siendo demasiado agresivo con los reintentos (-r) o el "raspado" (scraping) desde el principio.

La Solución: Detén el proceso (Ctrl + C) y reinícialo usando el mismo archivo de mapa, pero con la bandera -n (no-scrape):

Bash

sudo ddrescue -f -n /dev/sdb /dev/sdc rescate.map

Esto le dice a ddrescue que "salte" las zonas difíciles y se concentre en lo que es fácil de leer. Una vez que tengas el 90% rescatado, entonces sí puedes intentar las zonas lentas.

2. Error: "Output file exists and is not a regular file"

Este error ocurre cuando intentas escribir directamente a un disco físico (ej. de /dev/sdb a /dev/sdc) sin darle permiso explícito.

La Causa: ddrescue protege el destino por defecto para evitar que sobrescribas un disco por error.

La Solución: Añade la bandera -f (force) para autorizar la escritura en un dispositivo de bloques:

Bash

sudo ddrescue -f /dev/sdb /dev/sdc rescate.map

3. El disco se desconecta intermitentemente

Muchos discos dañados "mueren" electrónicamente cuando se calientan o encuentran un error crítico, desapareciendo del sistema (/dev/sdb deja de existir).

La Causa: Fallo de firmware o problemas de alimentación (especialmente en adaptadores USB).

La Solución:

Conexión Directa: Si usas un adaptador USB, quítalo y conecta el disco directamente a un puerto SATA de la placa base. El USB es pésimo gestionando errores de I/O.

Ciclo de reintento automático: Usa un pequeño script de bash o simplemente relanza el comando. Como tienes el rescate.map, ddrescue sabrá qué le falta por copiar aunque el disco se haya desconectado.

Baja la velocidad: Usa -c 1 para reducir el tamaño del clúster de copia, lo que estresa menos el cabezal.

4. El archivo de mapa (Mapfile) está corrupto o se perdió

Si pierdes el archivo .map, ddrescue no sabrá qué sectores ha copiado y cuáles no, obligándote a empezar de cero (lo cual estresa el disco innecesariamente).

La Causa: El PC de rescate se apagó mal o escribiste el mapa en una ubicación volátil (como /tmp).

La Solución:

Regenerar el mapa (Parcialmente): Si el destino es una imagen .img, puedes intentar usar la opción --generate-mode, aunque es compleja y no siempre perfecta.

Prevención: Guarda siempre el mapfile en un tercer disco (una memoria USB aparte), nunca en el disco que estás intentando rescatar ni en el de destino.

5. Demasiados errores de lectura (Bad Sectors everywhere)

Si ves que la tasa de errores sube como la espuma y la velocidad cae a 0 B/s:

La Causa: El cabezal del disco está tocando el plato o hay un fallo físico grave.

La Solución: No fuerces la lectura secuencial. Prueba a leer el disco hacia atrás con la bandera -R:

Bash

sudo ddrescue -f -R /dev/sdb /dev/sdc rescate.map

A veces el daño está al principio del disco y leer desde el final permite salvar archivos que de otro modo se perderían.

Tabla de banderas (flags) de rescate

BanderaÚsala cuando...Efecto
-nEl inicio es muy lento.Salta las zonas difíciles para ir rápido.
-r3Quieres exprimir el disco.Reintenta 3 veces los sectores fallidos.
-REl disco falla al principio.Invierte la dirección de la copia (hacia atrás).
-dEl sistema se queda "colgado".Acceso directo al disco (evita el caché del kernel).
-vQuieres ver qué pasa.Modo detallado (Verbose).

Un toque de candor realista

ddrescue es una herramienta de software. Si el motor del disco no gira o los cabezales están destruidos físicamente (el famoso "clic-clic-clic"), ningún comando de Linux podrá salvarlo. En esos casos, la única solución es una empresa de recuperación en cámara limpia. Pero si el disco aún es detectado por el BIOS, ddrescue es tu mejor soldado.

¿Te gustaría que te explicara cómo montar la imagen que has rescatado para intentar recuperar carpetas específicas usando Photorec o TestDisk?

Ads by CJ - Linux Foundation

Share This