GNU Parted (el nombre viene de la conjunción de las dos palabras inglesas partition y editor) es un editor de particioneslibre que se utiliza para crear y destruir particiones. Esto es útil para crear espacio para nuevos sistemas operativos, reorganizar el espacio del disco duro, copiar data entre discos duros y crear imágenes de disco. Fue desarrollado porAndrew Clausen y Lennert Buytenhek.
Está formado por una biblioteca, libparted, y en un front-end para la línea de comandos, parted, que también sirve como implementación de referencia.
(Fuente Wikipedia)
En un artículo anterior explicaba como crear particiones de más de 2TB mediante parted.
Bien, imaginemos que por alguna razón nuestra tabla de particiones cambia (a causa de un mal apagado del servidor, se fué la luz, etc) y que ya no podemos acceder a dicha partición. Esto me pasó a mi tras apagar el servidor 'por la via del botonazo'. La partición sdb1 no era accesible y cuando miraba con el programa parted veía que la tabla de particiones habia cambiado de gpt a loop. Pues bien, pensé en usar el comando mklabel para volverle a cambiar la tabla de particiones a gpt, pero me daba el siguiente aviso: "La etiqueta de disco existente en /dev/sdb se destruirá y todos los datos en este disco se perderán. ¿Desea continuar?" Pues no, no quiero destruir mis datos. Pero.. ¿Que puedo hacer?. Si nos leemos el manual de parted en el apartado de mklabel nos dice que técnicamente no destruye los datos y que estos podrán ser recuperados mediante el comando rescue. Así pues, eso hice:
parted /dev/sdb
GNU Parted 2.3
Usando /dev/sdb
¡Bienvenido/a a GNU Parted! Teclee «help» para ver la lista de órdenes.
(parted) unit GB
(parted) print
Modelo: ATA ST4000VN000-1H41 (scsi)
Disco /dev/sdb: 4001GB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones. loop
Numero Inicio Fin Tamaño Sistema de archivos Banderas
1 0,00GB 4001GB 4001GB btrfs
(parted) mklabel gpt
Aviso: La etiqueta de disco existente en /dev/sdb se destruirá y todos los datos en este disco se perderán. ¿Desea continuar?
Sí/Yes/No? s
(parted) print
Modelo: ATA ST4000VN000-1H41 (scsi)
Disco /dev/sdb: 4001GB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones. gpt
Numero Inicio Fin Tamaño Sistema de archivos Nombre Banderas
(parted) rescue
¿Inicio? 0
¿Fin? 4001
Información: Ha sido encontrada una partición btrfs primary en 0,00GB -> 4001GB. ¿Quiere añadirla a la tabla de particiones?
Sí/Yes/No/Cancelar/Cancel? S
(parted) print
Modelo: ATA ST4000VN000-1H41 (scsi)
Disco /dev/sdb: 4001GB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones. gpt
Numero Inicio Fin Tamaño Sistema de archivos Nombre Banderas
1 0,00GB 4001GB 4001GB btrfs
¡Y funcionó! Además, al recuperar la partición, conservamos intacto el UUID de dicha partición.