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

3 étapes simples :

  1. Identifier la partition à vérifier
  2. Démonter la partition
  3. Vérifier la partition

Identifier la partition à vérifier

Pour pouvoir utiliser fsck, vous devez au préalable connaître le partitionnement de votre disque.

3 façons simples :

  lsblk -fe7 -o +size

Démonter la partition

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.

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

sudo umount /dev/sda1

Si la partition est la partition root ⇒ voir le chapitre qui traite de ce cas

Vérifier la partition

On prend comme hypothèse que le disque est sda1

Utilisation standard

sudo fsck /dev/sda1

Forcer une vérification

sudo fsck -f -v /dev/sda1

Explication :

  • -f : force ⇒ forcer la vérification même si l'outil pense qu'il n'y a pas de problème
  • -v : verbose ⇒ donne plus d'informations

Vérifier les secteurs défectueux

sudo fsck -f -c -v /dev/sda1

Explication :

  • -f : force ⇒ forcer la vérification même si l'outil pense qu'il n'y a pas de problème
  • -v : verbose ⇒ donne plus d'informations
  • -c : vérifie les secteurs défectueux

Un exemple de la commande fsck

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 (fichier /etc/default/grub) puis lancer la commande update-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.

L'outil de disque peut aussi servir d'interface graphique (à 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.
  • Testdisk, récupération de données sur un disque illisible
  • ddrescue, récupération de données sur un disque endommagé

Contributeurs principaux : …


1)
Constaté avec la version 1.42-1ubuntu2.2 de e2fsprogs et de e2fslibs.
  • fsck.txt
  • Dernière modification: Le 11/09/2022, 11:35
  • par moths-art