Ce document me sert de mémo pour réparer un système de fichiers de type « ext2 » ou « ext3 » sous Linux. Je le diffuse en espérant qu’il puisse servir à d’autres personnes.
La première chose à faire est de connaître la liste des partitions utilisées par le système.
La commande suivante permet de connaître les partitions montées :
df
La commande suivante, permet d’avoir la liste complète des partitions du disque « /dev/sda » :
fdisk -l /dev/sda
Avant de pouvoir corriger un système de fichiers, il est nécessaire de le passer en lecture seule. Dans certains cas, cette opération est possible en utilisant les commandes suivantes, mais en général, il est préférable de booter sur un cd de réparation ou sur un live cd (comme la Knoppix) pour avoir un système de fichiers en lecture seule.
La commande suivante permet de passer en mode mono-utilisateur :
init 1
La commande suivante démonte et remonte en lecture seule la partition racine « / » :
mount -n -o remount,ro /
La commande suivante permet de remonter la partition racine « / » en lecture écriture lorsque celle-ci est réparée :
mount -n -o remount,rw /
La commande « e2fsck » permet de réparer les systèmes de fichiers « ext2 » ou « ext3 ».
La commande suivante permet de vérifier si la partition « /dev/sda1 » comporte des fichiers défectueux :
-f : Force la vérification même si le système de fichiers semble propre.
-n : Ouvre en lecture-seule le système de fichiers, et répond « non » à toutes les questions.
e2fsck -f -n /dev/sda1
La commande suivante permet de corriger la partition « /dev/sda1 ». ATTENTION : Il est impératif que le système de fichiers soit en lecture seule et qu’il soit bien de type ext2 ou ext3 :
-p : Répare automatiquement le système de fichiers sans poser la moindre question.
e2fsck -f -p /dev/sda1
Une copie du superbloc est effectuée automatiquement par le système de fichiers tous les 8ko. La commande suivante permet donc de récupérer cette copie et donc de réparer le superbloc :
La commande « e2fsck /dev/sda1 -b n » ou n est un multiple de 8192 +1 permet de réparer un système de fichiers dont le superbloc est défectueux. ex :
-b : Au lieu d’utiliser le superbloc normal, utilise un autre superbloc spécifié.
e2fsck /dev/sda1 -b 8193
ou :
e2fsck /dev/sda1 -b 16385
La commande suivante permet de marquer les secteurs défectueux de la partition « /dev/sda1 » pour empêcher l’enregistrement sur ceux-ci :
e2fsck -c /dev/sda1
La commande « debugfs » permet aussi de réparer le système de fichier. A utiliser uniquement si la commande « e2fsck » a échouée.
La commande « fsck » permet de réparer tous les systèmes de fichiers (man fsck pour plus d’infos).
| Version | Date | Commentaire |
|---|---|---|
| 0.1 | 26/11/02 | Création par Tony GALMICHE |
| 0.2 | 04/02/05 | Mise à jour pour mise en ligne et suite à remarque de Piou. |