miércoles, 5 de noviembre de 2008

gpart: Reparar una tabla de particiones

gpart es una herramienta que intenta "adivinar" cuál es la tabla de particiones principal de un disco duro de un PC en caso de que la tabla de particiones principal en el sector 0 se encuentre dañada, sea incorrecta o haya sido borrada.

La tabla obtenida por esta herramienta puede ser guardada en un fichero o dispositivo.

gpart soporta los siguientes sistemas de ficheros o tipos de particiones:

* DOS/Windows FAT (FAT 12/16/32)
* Linux ext2
* Linux swap partitions versions 0 and 1 (Linux >= v2.2.X)
* OS/2 HPFS
* Windows NT/2000 FS
* *BSD disklabels
* Solaris/x86 disklabels
* Minix FS
* Reiser FS
* Linux LVM physical volume module (LVM by Heinz Mauelshagen)
* SGI XFS on Linux
* BeOS filesystem
* QNX 4.x filesystem

La forma más cómoda de instalarlo es tirando de apt-get, si encontramos gpart en los repositorios de nuestra distribución (En ubuntu está):

# apt-get install gpart

Y si no encontramos gpart en los repositorios, siempre podemos descargarla desde la web del autor: http://www.stud.uni-hannover.de/user/76201/gpart/

Allí podremos encontrar tres posibles versiones:
  • Una versión en código fuente (en formato .tar.gz), que podemos compilar en nuestra distribución.
  • Otra versión (estática) en formato binario, que podremos usar directamente en linux.
  • Y una última versión (también estática) en formato binario, para freebsd.
Por si alguien no lo sabe, y , por decirlo de alguna manera, las versiones estáticas no tiran de librerías instaladas en la máquina, y pueden usarse directamente sin tener que instalarlas.

Trinity Rescue Kit dispone de esta utilidad entre sus herramientas, por lo que podremos usarlo para chequear particiones.

Modo de uso:

# gpart [opciones] dispositivo

donde dispositivo es el disco que queremos reparar: hda, hdb, sda...

Imaginemos que tenemos un disco sda que queremos reparar. Podemos testearlo directamente:

# gpart /dev/sda

Para grabar la tabla de particiones estimada, utilizamos la opción -W

# gpart -W /dev/sda /dev/sda

Como las opciones son muchas, para más detalles, recomiendo ver el manual (man gpart).

Y si gpart no funcionara, podemos probar con testdisk, otra buena herramienta que en ocasiones me ha sacado de más de un apuro.