François Legault

Vue 3141 fois

Voici un petit article qui montre comment récupérer une partition EXT3 dont le Superbloc est corrompus.

Les information de la partition EXT3 sous linux sont contenue dans ce que l'ont appelle le Superbloc. Le Superbloc est situé sur le bloc zéro de la partition et doit être intecte pour que la partition puisse être monté. Lors de la création d'une partition EXT3, des Superbloc alternatif sont créé sur différent bloc de la partition afin d'avoir un superbloc de secour en cas de déffaillance du Superbloc principal.

Lorsque la partition est créé, linux renvoie à l'écran la liste des Superbloc alternatif, qui est important de prendre en note pour utilisation futur. Si les Superbloc alternatifs n'ont pas été pris en note, il est possible de les revoir avec la commande dumpe2fs comme ceci:

sudo dumpe2fs /dev/md0 | grep -i superbloc

"md0" étant ici la partition de mon raid logiciel et devant être remplacé par votre propre partition, exemple sda1.

Cette commande retournera la liste complète des Superbloc comme ceci:

dumpe2fs 1.41.4 (27-Jan-2009)
 superbloc Primaire à  0, Descripteurs de groupes à  1-350
 superbloc Secours à  32768, Descripteurs de groupes à  32769-33118
 superbloc Secours à  98304, Descripteurs de groupes à  98305-98654
 superbloc Secours à  163840, Descripteurs de groupes à  163841-164190
 superbloc Secours à  229376, Descripteurs de groupes à  229377-229726
 superbloc Secours à  294912, Descripteurs de groupes à  294913-295262

Une fois la liste des Superbloc en main, il est possible de faire un e2fsck avec un des blocs de secours pour réparer la partition. S'assurer que la partition ne soit pas monté avant d’effectuer la commande.

sudo e2fsck -f -b 98304 /dev/sda1

Cette commande vérifiera le système de fichier à l'aide du Superbloc de secours puis une fois la vérification complété avec succès remplacera le Superbloc principal par celui de secours sélectionné.

Il est aussi possible de monter directement la partition de façon temporaire avec le Superbloc alternatif afin de récupérer des données:

sudo mount -o sb=98304 /dev/md0 /media/raid5

Si la vérification échoue, ou s'il est impossible de monter la partition avec le Superbloc sélectionner, testé un autre Superbloc de la liste.