web-dev-qa-db-fra.com

Comment effectuer une vérification complète de la structure du système de fichiers ext4?

J'ai une partition ext4 de 2 To avec un demi-million de fichiers dessus.
Je veux vérifier si cette partition contient des erreurs ou non.
Je ne veux pas rechercher les blocs défectueux, seule la structure logique doit être vérifiée.

J'ai démonté la partition et exécuté fsck /dev/sda2, mais fsck retourne immédiatement avec le code de sortie 0 sans vérifier réellement le système de fichiers entier.
Je m'attends à ce que la vérification complète de la partition prenne des heures.
J'ai lu man fsck mais n'a pas trouvé d'option pour "des tests approfondis".

J'ai peur que ma partition ait des secteurs accidentellement remplacés par des données de poubelle.
Mon disque dur était précédemment connecté à un autre système d'exploitation, et la partition ext4 peut être endommagée par un mauvais comportement de ce système d'exploitation.
C'est pourquoi je veux m'assurer que toute la structure arborescente est complètement correcte.

En d'autres termes, je souhaite effectuer une vérification similaire à celle de l'utilitaire chkdsk.exe le fait sous Windows.
Que dois-je utiliser sur Debian pour vérifier complètement le système de fichiers ext4?

27
Egor Skriptunoff

Comme mentionné par Satō Katsura , exécutez e2fsck en mode "force":

e2fsck -f /dev/sda2

Cela forcera une vérification même si le système pense que le système de fichiers est propre. L'option "verbeuse" est également utile:

e2fsck -vf /dev/sda2

En guise de remarque, et non applicable dans votre cas, mais si vous utilisez LVM pour votre stockage, vous pouvez utiliser l'outil peu --- lvcheck pour exécuter une vérification du système de fichiers "hors ligne" sur un système de fichiers monté (il utilise un instantané LVM et met à jour les métadonnées du système de fichiers si la vérification ne trouve aucune erreur).

28
Stephen Kitt

Vous pouvez également ajouter le -y drapeau pour éviter de répondre aux questions.

extrait du manuel :

-y suppose une réponse de yes à toutes les questions; permet e2fsck à utiliser de manière non interactive.

Donc, en étendant la réponse (puisque je ne peux pas encore commenter) de @ Sato - vous pouvez exécuter:

e2fsck -vfy /dev/sda2
7
impalle

Vous pouvez également vérifier les systèmes de fichiers en direct en mode lecture seule avec ceci:

e2fsck -vfn /dev/sda2
0
Attila