# [EXT4] EXT4-fs : can't read group descriptor 66 (résolu)

## syphering

Salut,

Depuis ce matin je rencontre un léger gros problème sur un de mes disques après avoir redémarrer mon Shuttle, impossible de le monter  :Sad: 

J'ai essayé sans succès :

```
# mount -t ext4 /dev/sdb1 /mnt/bigTux/

mount : mauvais type de système de fichiers, option erronée, superbloc

        erroné sur /dev/sdb1, page de code ou aide manquante, ou autre erreur

       Dans quelques cas certaines informations sont utiles dans syslog - essayez

       dmesg | tail  ou quelque chose du genre
```

Le contenu du dmseg :

```
# dmesg | tail

sd 0:0:1:0: [sdb]  Result: hostbyte=0x00 driverbyte=0x08

sd 0:0:1:0: [sdb]  Sense Key : 0x3 [current] [descriptor]

Descriptor sense data with sense descriptors (in hex):

        72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 

        00 00 02 57 

sd 0:0:1:0: [sdb]  ASC=0x11 ASCQ=0x4

sd 0:0:1:0: [sdb] CDB: cdb[0]=0x28: 28 00 00 00 02 57 00 00 08 00

end_request: I/O error, dev sdb, sector 599

EXT4-fs (sdb1): can't read group descriptor 66

ata1: EH complete
```

Je n'ai rien modifié coté système depuis un mois...

Je suis passé par un live-cd mais idem, impossible de le monter  :Sad: 

J'ai utilisé "testdisk" pour inspecter le disque, j'arrive à l'ouvrir via l'application, à naviguer dans les répertoires, mais toujours impossible de le monter. Cependant, en naviguant dans les fichiers, j'ai remarqué que certains avaient des attributs louches (?---------     0     0    0    sans_date mon_fichier)

Un fsck m'a permis d'avoir plus d'infos :

```
# mkfs.ext4 -n /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

Étiquette de système de fichiers=

Type de système d'exploitation : Linux

Taille de bloc=4096 (log=2)

Taille de fragment=4096 (log=2)

« Stride » = 0 blocs, « Stripe width » = 0 blocs

122101760 i-noeuds, 488378000 blocs

24418900 blocs (5.00%) réservés pour le super utilisateur

Premier bloc de données=0

Nombre maximum de blocs du système de fichiers=4294967296

14905 groupes de blocs

32768 blocs par groupe, 32768 fragments par groupe

8192 i-noeuds par groupe

Superblocs de secours stockés sur les blocs : 

        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 

        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 

        102400000, 214990848
```

```
# fsck.ext4 -n -b 229376 /dev/sdb1

e2fsck 1.41.12 (17-May-2010)

/dev/sdb1 contient un système de fichiers comportant des erreurs, vérification forcée.

Passe 1 : vérification des i-noeuds, des blocs et des tailles

Passe 2 : vérification de la structure des répertoires

Passe 3 : vérification de la connectivité des répertoires

Passe 4 : vérification des compteurs de référence

Passe 5 : vérification de l'information du sommaire de groupe

Le décompte des blocs libres est erroné pour le groupe n°60 (32254, décompté=1534).

Corriger ? non

Le décompte des blocs libres est erroné pour le groupe n°61 (32254, décompté=0).

Corriger ? non

....

Le décompte des i-noeuds libres est erroné (122019717, décompté=122019797).

Corriger ? non

/dev/sdb1 : **AVERTISSEMENT : le système de fichiers contient encore des erreurs**

/dev/sdb1 : 82043/122101760 fichiers (2.1% non contigus), 224232916/488378000 blocs
```

Ces erreurs sont répétées 7 136 fois !

J'hésite à lancer un fsck sans l'option "-n". 

Y aurait il d'autres méthodes pour comprendre ce qu'il s'est passé et le régler proprement ou bien pour récupérer les données qui sont non corrompues ?

Merci par avance.

----------

## syphering

J'ai trouvé la solution, après avoir fait :

```
# mkfs.ext4 -n /dev/sdb1

mke2fs 1.41.12 (17-May-2010)

Étiquette de système de fichiers=

Type de système d'exploitation : Linux

Taille de bloc=4096 (log=2)

Taille de fragment=4096 (log=2)

« Stride » = 0 blocs, « Stripe width » = 0 blocs

122101760 i-noeuds, 488378000 blocs

24418900 blocs (5.00%) réservés pour le super utilisateur

Premier bloc de données=0

Nombre maximum de blocs du système de fichiers=4294967296

14905 groupes de blocs

32768 blocs par groupe, 32768 fragments par groupe

8192 i-noeuds par groupe

Superblocs de secours stockés sur les blocs :

        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,

        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,

        102400000, 214990848
```

Il suffisait de faire la commande qui suit sur un des superblocks :

```
e2fsck -b 32768 /dev/sdb1
```

Et tout est redevenu accessible  :Smile: 

----------

