#4sysadmins

Inicio » GNU/Linux » Can’t read superblock: recuperando una partición ext

Can’t read superblock: recuperando una partición ext

Últimas Entradas

Follow #4sysadmins on WordPress.com

Bueno esta noche me he encontrado con un viejo amigo, un disco externo USB que tenía por ahí abandonado, y cuando he ido a montarlo me dice lo que no quiero escuchar, vamos lo que pasa con los amigos de verdad…

mount: /dev/sdb5: Can't read superblock

Total que en realidad me ha venido estupendamente para entrenarme un poco en dichosa faena. Os voy a contar como he conseguido recuperar la partición.

Lo primero que podemos deducir de este mensaje es que casi seguro que el primer superbloque está dañado ^ ^, por lo que una solución que podemos intentar darle, es recurrir a una de las copias automáticas de superbloque que el sistema de archivo realiza, bien ¿y como encuentro esa copia tan necesitada?, pues podemos hacerlo de diferentes maneras pero os voy a poner dos sencillas.

1. Si leemos el man del comando e2fsck en la sección de OPTIONS nos vamos a la -b superblock y al final del todo dice: “For  filesystems  with  1k  block‐sizes, a backup superblock can be found at block 8193; for filesystems with 2k blocksizes, at block 16384; and for 4k blocksizes, at block 32768“. Vale pues sabiendo esto queda conocer el block-size, para esto podemos ejecutar el siguiente comando:

$ sudo dumpe2fs /dev/sdb5 |grep "Block size"
dumpe2fs 1.42.9 (4-Feb-2014)
Block size: 4096

Ya sabemos que es de 4k por lo que el backup del superbloque está en el bloque 32768

2. Para hacerlo de esta forma es “casi necesario” el saber el tamaño del bloque, digo casi porque puede ayudarnos a obtener resultados mas preciso, pero bueno sabiendo la opción 1, que nos cuesta conocer el tamaño no?. Aún así citaré este modo porque tendremos la ventaja de que conoceremos mas bloques que contienen backups del superbloque, algo clave por si el bloque 32768 está corrupto.

$ sudo mke2fs -b 4096 -n /dev/sdb5 |grep -A 3 "Respaldo"
mke2fs 1.42.9 (4-Feb-2014)
Respaldo del superbloque guardado en los bloques: 
 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
 4096000, 7962624

Por partes:

mk2fs como ya sabremos, lo utilizaremos para crear un sistema de archivo ¡ CUIDADO ! importantísima la opción -n de no ponerla puedes apagar el PC ya e irte a que te de el aire :D. La opción -b pasa el tamaño del bloque y la segunda parte del comando es la “pijadita” para que nos de las líneas exactas donde obtendremos los bloques que contienen backups.

Bueno pues ahora que ya tenemos los bloques donde podremos obtener la copia del superbloque, queda restaurar el primer superbloque con alguna de estas copias. Para esto usaremos el siguiente comando:

Nota: Antes de usar fsck podemos intentar montar la partición con mount indicando el nuevo superbloque y comprobar si podemos navegar por el sistema de archivos, si es así, lo mejor será hacer una copia de seguridad de archivos importantes por si tuviésemos algún contratiempo con fsck. Esto lo haremos así:

$ mount sb=32768 /dev/sdb5 /mnt/suerte

Si no hemos tenido suerte o no hemos podido navegar por todo el sistema de archivos entonces:
Importante: Estar seguro de que tenemos la partición desmontada!!

$ sudo fsck -b 32768 -p /dev/sdb5

¿Está claro no?, con -b indicamos el bloque y con -p estamos diciéndole que repare de forma automática el sistema de archivos!!! :D

Nota: En ocasiones veréis que se usa la opción -a, esta opción se mantiene por compatibilidad, usar -p mejor.

Suerte!!!!

Anuncios

Deja un comentario, Gracias!

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: