viernes, 18 de julio de 2014

Para recuperar una particion perdida en EXT4 (Linux)

Me acaba de pasar...., por un error sobreescribi la tabla de particiones del disco (dd if=/dev/zero of=/dev/sdb), como ocurrio?, la combinacion de distraccion, experimentos y otras cosas, como le pasa a todo el mundo cuando Murphy llama a la puerta no? (igual tenia un backup pero me faltaban dos dias de trabajo uno de ellos importante para los siguientes dias)

Bueno, respecto a la solucion, o por lo menos lo que a mi me funciono, como me di cuenta que estaba sobrescribiendo el disco, pare el proceso al principio pero eso basto para borrar la tabla de particiones, o sea que en teoria, los otros datos permanecen en el disco.

Los blogs refieren a soluciones como gpart, testdisk y otras herramientas para recrear la tabla de particion, los probe sin exito, por lo cual el paso final iba a ser tratar de recuperar los datos mediante herramientas como photorec, easy recovery, o ya puestos FTK.

Antes de eso una ultima prueba con las herramientas de siempre me llevo a lo siguiente (desde un booteable con ubuntu):

root@lubuntu:/# parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) rescue                                                         
Start?    0
End? 100000 (un numero alto, el sistema realizara una prediccion)

Con ello el sistema logra restaurar la particion, reiniciamos y al tratar de ingresar tenemos errores de acceso, el disco no puede ser montado. Para solucionar ello continuacion cargamos la herramienta fsck:

e2fsck -p -y -f /dev/sda1

La aplicacion realiza una revision del sistema de archivos, pero como borramos la tabla en un determinado momento la herramienta no puede continuar por un error "irreparable", la misma aplicacion nos da dos opciones para continuar con la recuperacion, utilizar dos superblocks que a mi no me funcionaron, que basicamente son "copias" del sistema de archivos ubicadas a lo largo del disco, afortunadamente existen otros sectores adicionales a los dos que por defecto son los siguientes:

  Backup superblock at 32768, Group descriptors at 32769-32774
  Backup superblock at 98304, Group descriptors at 98305-98310
  Backup superblock at 163840, Group descriptors at 163841-163846
  Backup superblock at 229376, Group descriptors at 229377-229382
  Backup superblock at 294912, Group descriptors at 294913-294918
  Backup superblock at 819200, Group descriptors at 819201-819206
  Backup superblock at 884736, Group descriptors at 884737-884742
  Backup superblock at 1605632, Group descriptors at 1605633-1605638
  Backup superblock at 2654208, Group descriptors at 2654209-2654214
  Backup superblock at 4096000, Group descriptors at 4096001-4096006
  Backup superblock at 7962624, Group descriptors at 7962625-7962630
  Backup superblock at 11239424, Group descriptors at 11239425-11239430
  Backup superblock at 20480000, Group descriptors at 20480001-20480006
  Backup superblock at 23887872, Group descriptors at 23887873-23887878
 
 

No hay comentarios:

Publicar un comentario