Recherche de site Web

Comment utiliser « fsck » pour réparer les erreurs du système de fichiers sous Linux


Les systèmes de fichiers Linux sont chargés d'organiser la manière dont les données sont stockées et récupérées. D'une manière ou d'une autre, avec le temps, le système de fichiers peut être corrompu et certaines parties de celui-ci peuvent ne pas être accessibles. Si votre système de fichiers développe une telle incohérence, il est recommandé de vérifier son intégrité.

Cela peut être effectué via un utilitaire système appelé fsck (vérification de cohérence du système de fichiers), qui vérifie automatiquement le système de fichiers racine au démarrage ou est exécuté manuellement.

Dans cet article, nous allons passer en revue la commande fsck et son utilisation pour vous aider à réparer les erreurs de disque Linux.

Quand utiliser la commande fsck sous Linux

Il existe différents scénarios dans lesquels vous souhaiterez exécuter fsck. Voici quelques exemples:

  • Le système ne parvient pas à démarrer.
  • Les fichiers du système sont corrompus (vous pouvez souvent voir une erreur d'entrée/sortie).
  • Le lecteur connecté (y compris les lecteurs flash/cartes SD) ne fonctionne pas comme prévu.

Options de commande fsck

La commande fsck doit être exécutée avec les privilèges de superutilisateur ou root. Vous pouvez l'utiliser avec différents arguments. Leur utilisation dépend de votre cas spécifique. Ci-dessous, vous verrez certaines des options les plus importantes :

  • -A – Utilisé pour vérifier tous les systèmes de fichiers. La liste est extraite de /etc/fstab.
  • -C – Afficher la barre de progression.
  • -l – Verrouille le périphérique pour garantir qu'aucun autre programme ne tentera d'utiliser la partition pendant la vérification.
  • -M – Ne vérifie pas les systèmes de fichiers montés.
  • -N – Affiche uniquement ce qui serait fait – aucune modification réelle n'est apportée.
  • -P – Si vous souhaitez vérifier les systèmes de fichiers en parallèle, y compris root.
  • -R – Ne vérifie pas le système de fichiers racine. Ceci n'est utile qu'avec '-A'.
  • -r – Fournit des statistiques pour chaque appareil en cours de vérification.
  • -T – N'affiche pas le titre.
  • -t – Spécifiez exclusivement les types de systèmes de fichiers Linux à vérifier. Les types peuvent être des listes séparées par des virgules.
  • -V – Fournissez une description de ce qui est fait.

Exécutez la commande fsck pour réparer les erreurs du système de fichiers Linux

Afin d'exécuter fsck, vous devrez vous assurer que la partition que vous allez vérifier n'est pas montée. Pour les besoins de cet article, j'utiliserai mon deuxième lecteur /dev/sdb monté dans /mnt.

Voici ce qui se passe si j'essaie d'exécuter fsck lorsque la partition est montée.

fsck /dev/sdb

Pour éviter cela, démontez la partition en utilisant.

umount /dev/sdb

Ensuite, fsck peut être exécuté en toute sécurité.

fsck /dev/sdb

Comprendre les codes de sortie fsck

Après avoir exécuté fsck, il renverra un code de sortie. Ces codes peuvent être consultés dans le manuel de fsck en exécutant :

man fsck

0      No errors
1      Filesystem errors corrected
2      System should be rebooted
4      Filesystem errors were left uncorrected
8      Operational error
16     Usage or syntax error
32     Checking canceled by user request
128    Shared-library error            

Fsck répare le système de fichiers Linux

Parfois, plusieurs erreurs peuvent être trouvées sur un système de fichiers. Dans de tels cas, vous souhaiterez peut-être que fsck tente automatiquement de corriger les erreurs. Cela peut être fait avec :

fsck -y /dev/sdb

L'indicateur -y, automatiquement « oui » à toute invite de fsck pour corriger une erreur.

De même, vous pouvez exécuter la même chose sur tous les systèmes de fichiers (sans root) :

fsck -AR -y 

Comment exécuter fsck sur la partition racine Linux

Dans certains cas, vous devrez peut-être exécuter fsck sur la partition racine de votre système. Puisque vous ne pouvez pas exécuter fsck pendant que la partition est montée, vous pouvez essayer l'une de ces options :

  • Forcer fsck au démarrage du système
  • Exécutez fsck en mode de secours

Nous passerons en revue les deux situations.

Forcer fsck au démarrage du système

C'est relativement simple à réaliser, la seule chose que vous devez faire est de créer un fichier appelé forcefsck dans la partition racine de votre système. Utilisez la commande suivante :

touch /forcefsck

Ensuite, vous pouvez simplement forcer ou planifier un redémarrage de votre système. Lors du prochain démarrage, le fsck sera exécuté. Si le temps d'arrêt est critique, il est recommandé de le planifier soigneusement, car s'il y a de nombreux inodes utilisés sur votre système, fsck peut prendre un peu plus de temps.

Après le démarrage de votre système, vérifiez si le fichier existe toujours :

ls /forcefsck

Si tel est le cas, vous souhaiterez peut-être le supprimer afin d'éviter fsck à chaque démarrage du système.

Exécutez fsck en mode de secours

L'exécution de fsck en mode de secours nécessite quelques étapes supplémentaires. Tout d’abord, préparez votre système pour le redémarrage. Arrêtez tous les services critiques comme MySQL/MariaDB etc., puis tapez.

reboot

Pendant le démarrage, maintenez la touche shift enfoncée pour que le menu grub s'affiche. Sélectionnez « Options avancées ».

Choisissez ensuite « Mode de récupération ».

Dans le menu suivant, sélectionnez « fsck ».

Il vous sera demandé si vous souhaitez que votre système de fichiers / soit remonté. Sélectionnez « oui ».

Vous devriez voir quelque chose de similaire à ceci.

Vous pouvez ensuite reprendre le démarrage normal, en sélectionnant « Reprendre ».

Conclusion

Dans ce didacticiel, vous avez appris à utiliser fsck et à exécuter des vérifications de cohérence sur différents systèmes de fichiers Linux. Si vous avez des questions sur fsck, n'hésitez pas à les soumettre dans la section commentaires ci-dessous.