Tabla de particiones corrupta (unidad flash USB)

9

Es una unidad de memoria USB Patriot de 8 GB, que he usado ampliamente con muchos datos. Hoy, se detecta, pero todos los datos se han ido: ( EDITAR al menos algunos datos todavía están allí, pero la tabla de particiones se ha ido)


EDITAR @Sathya (gracias) aquí está el resultado relevante de sudo fdisk -l:

Disk /dev/sdc: 8019 MB, 8019509248 bytes
247 heads, 62 sectors/track, 1022 cylinders
Units = cylinders of 15314 * 512 = 7840768 bytes

Disk /dev/sdc doesn't contain a valid partition table

Parece que es / dev / sdc, con esos 8 GB ... y sin tabla de particiones.

Traté de montar / dev / sdc (y luego dmesg | tail):

/media> sudo mount /dev/sdc mytmp
mount: wrong fs type, bad option, bad superblock on /dev/sdc,
       missing codepage or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

/media> dmesg | tail
[   24.300000]  sdc: unknown partition table
[   24.320000] sd 2:0:0:0: Attached scsi removable disk sdc
[   24.370000] usb-storage: device scan complete
[   26.870000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[   26.870000] EXT2-fs: group descriptors corrupted!
[   50.420000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[   50.430000] unhashed dentry being revalidated: .DCOPserver_eeepc-brendanma__0
[ 5565.470000] EXT2-fs error (device sdc): ext2_check_descriptors: Block bitmap for group 1 not in group (block 0)!
[ 5565.470000] EXT2-fs: group descriptors corrupted!

EDIT @Col: resultados de testdisk

Disk /dev/sdc - 8013 MB / 7642 MiB - CHS 1022 247 62
Current partition structure:
     Partition                  Start        End    Size in sectors

Partition sector doesn't have the endmark 0xAA55

Después de golpear [proceed], dice:

Structure: Ok.


Keys A: add partition, L: load backup, Enter: to continue

La "Estructura: Ok". parece tranquilizador ... ¿"A: agregar partición" hará que mis datos antiguos sean accesibles (si todavía están allí) o creará una nueva partición nueva?

Otra opción es " [ MBR Code ] Write TestDisk MBR code to first sector". ¿Sería mejor hacer esto?


EDITAR Descubrí que al menos algunos de mis datos todavía están en la unidad flash, usando lo siguiente y buscando texto en inglés en menos (como "the"):

cat /dev/sde | tr -cd '\11\12\40\1540-\176' | less

(La unidad cambió de "/ dev / sdb" a "/ dev / sde" porque hoy conecté algunas unidades adicionales). Aprendí que "/ dev / sde1" sería la primera partición; y "/ dev / sde" es todo el disco. Debido a que Unix trata estos dispositivos como archivos, puede usar todos los comandos de archivos Unix ordinarios en ellos, como cat, y luego procesarlos como cualquier otro flujo de datos. Lo tranterior elimina los caracteres no imprimibles ("\ 40" es espacio, que quería conservar). En menos, puede usar "/" para buscar, similar a Vim.

¿Cómo puedo recuperar mis datos (suponiendo que todavía estén allí)? Si solo la tabla de particiones está dañada, ¿existe una "herramienta de recuperación de particiones" estándar? ¿Hay alguna manera de "repartir" sin eliminar todo?

13ren
fuente
@ChrisF Esa respuesta no funciona ... y no puedo responderla allí, así que tengo aquí (vea la edición de la pregunta).
13ren
@ 13ren: si usa el mismo OpenID en ambos sitios, puede asociar sus cuentas. Sin embargo, por ahora, envíe un correo electrónico a [email protected] y pídales que hagan la asociación. Mientras tanto, he fusionado las dos preguntas.
BinaryMisfit
1
@ 13ren - Sé que no puedes responder allí. Estaba incluyendo el enlace para los moderadores para que pudieran encontrar la pregunta.
ChrisF
Gracias ChrisF, perdón por haber entendido mal. Le envié un correo electrónico como usted sugirió. @Diago gracias por la fusión, puedo comentar ahora. Les enviaré un correo electrónico nuevamente.
13ren
1
Inserte el disco, haga un sudo fdisk -l y ¿puede actualizar la publicación con la salida?
Sathyajith Bhat

Respuestas:

6

Puede valer la pena ejecutar testdisk sobre el dispositivo, parece que su tabla de partición puede haberse vuelto pop. Testdisk debería poder recuperar sus datos.

Columna
fuente
@Col gracias, pero no tengo testdisk, lo intenté sudo testdisky man testdisk. Acabo de instalarlo y detecta / dev / sdc con 8GB (como se agregó a la pregunta). No quiero seguir adelante hasta que entienda un poco más.
13ren
@Col, lo intenté y agregué los resultados a la pregunta
13ren
Si te sientes nervioso, podría valer la pena usar dd para crear una imagen del dispositivo USB en tu disco duro, creo que esto debería funcionar incluso con un disco desmontable ya que se copia poco a poco.
Col
Gracias, esa es una buena idea! Pero, ¿cómo copio un archivo con dd? La página de manual habla de "archivos" ... oh, ¿cuenta / dev / sdc como un "archivo"? Entonces, ¿puedo copiar todo / dev / sdc a un archivo de convención como " dd /dev/sdc mybackupfile?
13ren
1
¡Ahora tengo algunos puntos de reputación ahora, así que puedo votar!
13ren
1

No se preocupe, sus datos no se han ido, tiene razón acerca de que el disco no se está montando, independientemente de lo que diga la interfaz gráfica.

Puede montarlo haciendo (como root) algo como:

mount /dev/sdb1 /media/Patriot\ Memory

Donde creo que se sdb1refiere a su memoria USB, podría ser sdc1osdd1


fuente
O incluso sda1, dependiendo de la edad de la computadora (es decir, si los discos
duros
@Michiel gracias, pero dice "monte: no se ha encontrado ningún medio". El uso de sdc1 y sdd1 dio "mount: dispositivo especial / dev / sdc1 no existe", lo que me hace pensar que "sdb1" existe pero hay algo mal. Se ha trabajado durante meses, y nada cambiado, que yo sepa - por lo que me temo que es algún tipo de fallo de hardware
13ren
1

Si bien es posible reconstruir la tabla de particiones, lo primero que debe hacer es tomar una imagen del dispositivo. Puede hacerlo con dd if=/dev/sdb of=~/memstick.imgcambios de ruta según sea necesario.

Una vez que haya hecho eso, ejecute PhotoRec , que debería poder extraer cualquier archivo que esté allí. Si tiene todo lo que necesita, formatee el dispositivo y comience de nuevo, si no, puede intentar una mayor recuperación de datos.

Dentrasi
fuente
1

ddrescue es la herramienta que necesitas. No creo que pueda recuperar la tabla de particiones y acceder a los datos de otra manera, en función de la salida que ha publicado desde testdisk, etc.

http://www.forensicswiki.org/wiki/Ddrescue

ddrescue es una herramienta de recuperación de datos. Copia datos de un archivo o dispositivo de bloque (disco duro, cdrom, etc.) a otro, intentando rescatar datos en caso de errores de lectura.

El funcionamiento básico de ddrescue es completamente automático. Es decir, no tiene que esperar un error, detener el programa, leer el registro, ejecutarlo en modo inverso, etc.

Si utiliza la función de archivo de registro de ddrescue, los datos se rescatan de manera muy eficiente (solo se leen los bloques necesarios). También puede interrumpir el rescate en cualquier momento y reanudarlo más tarde en el mismo punto.

Ddrescue no escribe ceros en la salida cuando encuentra sectores defectuosos en la entrada, y no trunca el archivo de salida si no se le solicita. Por lo tanto, cada vez que lo ejecuta en el mismo archivo de salida, intenta llenar los vacíos sin borrar los datos ya rescatados.

Si tiene dos o más copias dañadas de un archivo, cdrom, etc., y ejecuta ddrescue en todas ellas, una a la vez, con el mismo archivo de salida, probablemente obtendrá un archivo completo y sin errores. Esto se debe a que la probabilidad de tener áreas dañadas en los mismos lugares en diferentes archivos de entrada es muy baja. Usando el archivo de registro, solo se leen los bloques necesarios de la segunda y sucesivas copias.

Sam Dunlap
fuente