fsck : contrôle de l'intégrité et réparation de partitions

FSCK est l'outil de contrôle d'intégrité et de réparation pour les systèmes de fichiers Linux. Pour plus d'informations voir la page : verification de fichiers.

Pour certains problèmes propres au système de fichiers NTFS, voir ntfsfix.

Pour le système de fichier FAT, se référer à la page dosfsck.

fsck est un programme en mode console. Il se décompose en plusieurs sous-programmes, appelés automatiquement en fonction du type de la partition :

fsck.ext2      fsck.ext4      fsck.minix     fsck.nfs       fsck.vfat
fsck.cramfs    fsck.ext3      fsck.msdos     fsck.reiserfs  fstobdf
Il faut impérativement que votre partition soit démontée, c'est-à-dire non accessible, ce qui est le cas avec un live CD/DVD, c'est pourquoi il est plus simple d'effectuer la vérification fsck depuis un live CD/DVD ou un live USB.

Pour pouvoir utiliser fsck, vous devez au préalable connaître le partitionnement de votre disque (avec gparted par exemple).

Une fois choisie la partition à examiner, il faudra la démonter, par exemple si la partition est dev/sda1 :

sudo umount /dev/sda1

On peut ensuite lancer la vérification :

sudo fsck /dev/sda1

Dans notre exemple, l'examen de la partition retourne :

fsck 1.40.2 (12-Jul-2007)
e2fsck 1.40.2 (12-Jul-2007)
/dev/sda1 n'a pas été démonté proprement, vérification forcée.
Passe 1 : vérification des i-noeuds, des blocs et des tailles
I-noeud 2392126, i_size est 77055, devrait être 110592.  Corriger<o>? oui
 
I-noeud 2392126, i_blocs est 192, devrait être 224.  Corriger<o>? oui
 
Passe 2 : vérification de la structure des répertoires
Passe 3 : vérification de la connectivité des répertoires
Passe 3A : optimisation des répertoires
Passe 4 : vérification des compteurs de référence
Passe 5 : vérification de l'information du sommaire de groupe
 
/dev/sda1: ***** LE SYSTÈME DE FICHIERS A ÉTÉ MODIFIÉ *****
/dev/sda1: 68816/6750208 files (0.9% non contigus), 12039728/13492584 blocs

Si des corrections doivent être effectuées, fsck vous demandera de les confirmer :

I-noeud 2392126, i_blocs est 192, devrait être 224.  Corriger<o>? oui

la lettre entre "<>" indique la réponse recommandée. Ici "o" soit "oui".

Pour vérifier la partition racine, vous devez créer un fichier forcefsck à la racine :

sudo touch /forcefsck

Ce qui aura pour effet de lancer fsck au prochain démarrage. (grâce au service /etc/init.d/checkfs.sh ou /etc/init.d/checkroot.sh)

Ceci ne fonctionne plus depuis Ubuntu 16.04, il faut maintenant passer fsck.mode=force comme paramètre au noyau dans la ligne GRUB_CMDLINE_LINUX_DEFAULT de grub

Si le système vous le demande suite à un problème, vous devrez faire un fsck manuel, étant normalement déjà en root et la partition étant montée en ro.
Pour repérer la partition à analyser (/dev/…) :

fdisk -l

Puis lancement de fsck (ici avec l'option -y pour répondre "oui" à toutes les questions) :

fsck -y /dev/...

ou (avec plus d'options):

fsck -yfv -C0 /dev/...

L'​interface fsck​ lance le vérificateur adapté au système de fichiers de la partition ciblée : si la partition est formatée en ext4, alors fsck lancera automatiquement fsck.ext4

Les différentes options :

  • y ⇒ répond yes aux questions
  • f ⇒ force la vérification même si le système est propre
  • v ⇒ mode verbeux
  • -C0 [c'est un zéro] ⇒ affichage de la barre de progression, même sur ext4 depuis 2015 1)
    (en 2014, uniquement sur ext2/3).

Pour afficher la liste des propriétés d'une partition, il faut utiliser tune2fs.

sudo tune2fs -l /dev/sda1

ou

sudo LANG=C tune2fs -l /dev/sda1 | egrep -i "mount count|Check interval|Last|Next"

Parmi les informations retournées on peut voir :

Filesystem created:       Sat Apr 18 16:58:12 2009
Last mount time:          Thu Oct  7 23:00:57 2010
Last write time:          Thu Oct  7 23:00:57 2010
Mount count:              16
Maximum mount count:      37
Last checked:             Sat Mar  4 13:52:50 2017
Check interval:           15552000 (1 months)
Next check after:        Sun Apr  5 13:52:50 2017

Dans cet exemple, le système de fichier sera vérifié automatiquement avec fsck après le 5 avril 2017 13:52 ou avant si jamais la partition est montée plus de 21 fois (Maximum mount - Mount count) d'ici là.

Pour les volumes ext2 ou ext3, il est possible de paramétrer une vérification automatique.

C'est déjà le cas par défaut sous Ubuntu (au bout d'environ 30 montages).

Pour modifier les paramètres, il faut utiliser tune2fs. Exemple 1 :

sudo tune2fs -c 50 /dev/sda1

permet de lancer fsck tous les 50 montages de la partition. Exemple 2:

sudo tune2fs -c 60 /dev/sda1
sudo tune2fs -i 30d /dev/sda1

permet de lancer fsck tous les 60 montages ou tous les 30 jours pour partition sda1.

Gparted peut servir d'interface graphique à fsck. Ouvrez Gparted faite un clic droit sur la partition et choisissez l'option Vérifier.

  • Pour les sytèmes antérieurs à ext4 (soit avant Ubuntu 9.04) Bonager : interface graphique pour le contrôle des vérifications disque, ce post.
  • autofsck : permet de lancer fsck lors de l'arrêt système plutôt que lors de son démarrage.

Contributeurs principaux : …


1)
Constaté avec la version 1.42-1ubuntu2.2 de e2fsprogs et de e2fslibs.
  • fsck.txt
  • Dernière modification: Le 01/03/2019, 08:57
  • (modification externe)