Table des matières

,

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

Utilisation

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 :

Vérifier les secteurs défectueux

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

Explication :

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".

Forcer un check fsck ( la partition racine : / )

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 :

Afficher les propriétés d'une partition

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à.

Changer la fréquence d'analyse

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.

Interface graphique

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)

Voir aussi


Contributeurs principaux : …

1)
Constaté avec la version 1.42-1ubuntu2.2 de e2fsprogs et de e2fslibs.