Apartamento En Familia

Apartamento En Familia
Apartamento de playa para vacaciones. http://www.apartamentoenfamilia.es. Número registro HUTT-005768

martes, 24 de diciembre de 2013

Recuperación de partición tras mklabel de parted mediante rescue


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 bibliotecalibparted, y en un front-end para la línea de comandosparted, que también sirve como implementación de referencia.
En 2013, GNU Parted solo está disponible para Linux y GNU Hurd.1


(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. 

That u don't know what you've got 'til it's gone