web-dev-qa-db-fra.com

Récupérer à partir d'un système de fichiers corrompu lorsque fsck n'aide pas

Quelque chose n'allait pas avec mon système de fichiers, Ubuntu l'a mis en lecture seule et maintenant, sous Ubuntu Live Disc, fsck ne peut pas le réparer.

Je suis en cours d'exécution 13.04 et il ne démarre pas - au démarrage, il montre simplement l'invite de sauvetage grub.

C'est une configuration simple, juste un disque dur sur/dev/sda1 mais il ne sera même pas monté.

Le programme d'installation peut voir la partition, que ce soit ext4 et que c'est la partition de démarrage.

Cependant, il semble que je ne puisse pas sauver le système de fichiers en effectuant une installation Ubuntu avec le disque live Ubuntu, car cela ne donne aucune indication sur le fait de savoir s'il est sur le point de tout écraser, donc je ne veux pas le risquer.

J'ai un back-up avec backuppc mais bêtement j'ai perdu mes disques de secours. Je préfère éviter une installation complète suivie d'une restauration pour laquelle je n'ai aucune expérience d'exécution.

Le nœud du problème est que fsck dit qu'il répare tout mais ne le fait pas, donc la prochaine fois que je l'exécute, les messages d'erreur et les correctifs que je reçois sont exactement les mêmes.

Voici la sortie:

ubuntu@ubuntu:~$ Sudo fsck.ext4 -vy /dev/sda1
e2fsck 1.42.8 (20-Jun-2013)
ext2fs_check_desc: Corrupt group descriptor: bad block for block bitmap
fsck.ext4: Group descriptors look bad... trying backup blocks...
Block bitmap for group 0 is not in group.  (block 2553887680)
Relocate? yes

Inode table for group 0 is not in group.  (block 2440124416)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate? yes

One or more block group descriptor checksums are invalid.  Fix? yes

Group descriptor 0 checksum is 0x761e, should be 0xcf25.  FIXED.
Block bitmap for group 4352 is not in group.  (block 2553887680)
Relocate? yes

Inode table for group 4352 is not in group.  (block 3731970048)
WARNING: SEVERE DATA LOSS POSSIBLE.
Relocate? yes

Group descriptor 4352 checksum is 0x5eda, should be 0x3da3.  FIXED.
Inode bitmap for group 4353 is not in group.  (block 2785042439)
Relocate? yes

Group descriptor 4353 checksum is 0xd8b1, should be 0xedfb.  FIXED.
Inode bitmap for group 4354 is not in group.  (block 838860807)
Relocate? yes

Group descriptor 4354 checksum is 0x1718, should be 0x0438.  FIXED.
Inode bitmap for group 4355 is not in group.  (block 771751943)
Relocate? yes

Group descriptor 4355 checksum is 0x0bc8, should be 0x4170.  FIXED.
fsck.ext4: e2fsck_read_bitmaps: illegal bitmap block(s) for /dev/sda1

/dev/sda1: ***** FILE SYSTEM WAS MODIFIED *****

/dev/sda1: ********** WARNING: Filesystem still has errors **********

ubuntu@ubuntu:~$ 

C'est exactement la même chose que c'était 10 fois plus tôt et je suis sûr que je l'essayerai dix fois plus tard - exactement les mêmes sommes de contrôle et identifiants de bloc. Toute aide reçue avec plaisir!

Merci.

EDIT: en gros, je suppose que la question est la suivante: ce système de fichiers est-il réparable in situ ou les informations de fsck signifient-elles que mon disque est mort? Et si ce n'est pas mort, que puis-je faire au-delà de ce que j'ai fait avec fsck?

EDIT: a utilisé tune2fs pour identifier les superblocs et a exécuté e2fsck -b 01234/dev/sda1 comme alternative à fsck ... aucun effet.

EDIT: essayer testdisk qui me dit que la partition est mauvaise. ... OK testdisk ne semble pas offrir beaucoup.

10
Adam

Enfin trouvé ce lien où le type de système de fichiers ext4 est critiqué, mais après avoir donné tous les conseils que j'avais déjà essayés, il dit enfin de faire ceci:

Sudo mkfs.ext4 -S /dev/sda1

Ceci remplacera tous vos superblocs par les données correctes, en supposant que la taille de la taille de bloc soit correctement estimée (la valeur par défaut est correcte pour la plupart des systèmes). Si vous avez besoin de l'utiliser, veuillez tout d'abord lire page de manuel sur -S. Ne m'en veux pas!

mais seulement si vous vous sentez chanceux.

Il a corrigé la partition pour que je puisse la relire. Cependant, je devais exécuter fsck pour corriger les erreurs qui existaient toujours, et qui vidaient le contenu de/etc et de nombreux autres éléments dans/lost + found, je vais donc devoir effectuer une réinstallation et une restauration. de la sauvegarde pour le remettre en marche.

11
Adam

Premièrement: si vous avez des données importantes sur ce disque, ce serait un bon moment (en fait un mauvais moment) pour effectuer une sauvegarde. Voir Récupération de données: créer une image d'un périphérique, d'un système de fichiers ou d'un lecteur endommagé . Peut-être que votre disque dur est en train de mourir.

Deuxièmement: Regardez ceci: Comment puis-je résoudre le montage de mon lecteur de données après un crash?

Troisièmement: Vérifiez votre disque dur en utilisant Smartmontools et éventuellement en badblocks: Sudo badblocks -vsn /dev/sda (Cela peut prendre un certain temps, ne le faites pas si vous avez un ssd)

2
innerand