Comment utiliser la commande fsck sous Linux ?

La commande fsck (vérification de la cohérence du système de fichiers) est un utilitaire pour vérifier et réparer un système de fichiers Linux. Les systèmes de fichiers modernes avec journalisation sont conçus de telle sorte que des outils tels que fsck ne sont pas facilement nécessaires. Cependant, dans quelques cas, fsck peut être la seule option pour réparer un “mauvais” système de fichiers.

fsck peut être exécuté sur une partition corrompue ou incompatible avec le reste du système de fichiers.

Raisons pour lesquelles fsck peut être requis

  • Arrêt impur – C’est la principale cause de corruption. En raison d’un “arrêt impur”, le système peut même ne pas démarrer correctement
  • Défaillance ou corruption du lecteur

Table des Matières

Environnements Où Vous ne DEVEZ PAS utiliser fsck

Puisque la commande fonctionne directement avec les secteurs du système de fichiers, il est important de prendre les précautions nécessaires ici.

la page de manuel d’e2fsck dit:

Notez qu’en général, il n’est pas sûr d’exécuter e2fsck sur des systèmes de fichiers montés. La seule exception est si l’option -n est spécifiée et que les options -c, -l ou -L ne sont pas spécifiées. Cependant, même s’il est sûr de le faire, les résultats imprimés par e2fsck ne sont pas valides si le système de fichiers est monté. Si e2fsck vous demande si vous devez ou non vérifier un système de fichiers monté, la seule réponse correcte est “non”.

https://www.man7.org/linux/man-pages/man8/e2fsck.8.html

Donc, vous devez faire fsck sur une partition non montée. Si vous pouvez démonter la partition en utilisant umount, bien et bien. Sinon, vous devez changer votre environnement:

1. Mode de récupération

(Pour Ubuntu-Hold SHIFT lors du démarrage pour entrer dans GRUB, Sélectionnez “Options avancées pour Ubuntu”, puis sélectionnez l’option intitulée “mode de récupération”, puis sélectionnez fsck). En mode de récupération, les partitions sont montées.

 Mode de récupération Fsck
Mode de récupération fsck

2. Lors de l’utilisation du paramètre du noyau init=/bin/bash

(Maintenez SHIFT pendant le démarrage pour entrer dans GRUB, appuyez sur e pour modifier les paramètres du noyau). Il fournit un shell bash à partir duquel fsck pourrait être exécuté mais ici aussi, les partitions sont montées.

 Paramètre du noyau d'initialisation
Paramètre du noyau d’initialisation

Comment utiliser la commande fsck ?

Avec les bases claires, passons aux étapes de l’utilisation de la commande fsck sous Linux.

1. Utilisation de base du

Avant de commencer à utiliser la commande, assurez-vous de travailler sur une partition non montée. Pour démonter une partition, puis exécuter fsck dessus, tapez :

$ sudo umount /dev/<partition_name>$ fsck /dev/<partition_name>

Il y a de fortes chances que vous ne puissiez pas démonter la partition. Dans ce cas, vous pouvez choisir l’une des méthodes suivantes.

2. Exécuter fsck en utilisant un USB live

C’est probablement la meilleure façon d’exécuter fsck. Il fournit un riche ensemble d’outils familiers comme fdisk. Utilisez ce tutoriel pour créer une clé USB Ubuntu en direct. Cette partie suppose que vous exécutez Linux sur une clé USB en direct.

Pour lister toutes les partitions de votre système, vous pouvez utiliser la commande fdisk.

$ sudo fdisk -l
 Partitions Nvme
Partitions SSD NVMe
 Partitions SSD Sata
Partitions SSD SATA

Remarque: Les partitions indiquées ci-dessus (pour 2 SSD, un NVMe et d’autres SATA) peuvent être différentes de ce que vous avez sur votre système. fdisk affiche également plus d’informations sur les partitions. Cependant, aux fins de cet article, le nom de la partition est suffisant.

Identifiez la partition qui cause des problèmes, puis exécutez simplement:

$ fsck /dev/<partition_name>

Cela devrait résoudre le problème.

3. L’utilisation d’initramfs

Une autre façon d’utiliser la commande fsck est en mode intramfs. Pour entrer dans initramfs

  1. Maintenez la touche SHIFT pendant le démarrage pour accéder au menu GRUB.
  2. Appuyez sur e pour modifier l’entrée de démarrage
  3. Ajoutez le paramètre du noyau comme ‘break‘ comme indiqué dans la capture d’écran ci-dessous
  4. Appuyez sur Ctrl - X pour enregistrer et quitter
 Entrer Dans Initramfs
Entrer Dans Initramfs

initramfs fournit un moyen de dépannage “moins séduisant”.

Les partitions ne sont pas montées dans initramfs, donc effectuer fsck serait sûr. En outre, vous avez besoin du nom de la partition. Initramfs, cependant, fournit un strict minimum d’utilitaires. fdisk ne sera donc pas disponible. Vous pouvez lister les partitions à l’aide de la commande cat comme indiqué ci-dessous:

$ cat /proc/partitions

Identifiez la partition, puis exécutez:

$ fsck /dev/<partition_name>
 Initramfs Fschk
Initramfs Fsck

Remarque: fsck utilisant Live USB peut ne pas être toujours disponible. Dans un tel cas, utilisez la méthode initramfs.

Comment vérifier si fsck est programmé ou non

Vous voudrez peut-être savoir quand votre partition a été vérifiée la dernière fois ou quand le sera-t-elle à l’avenir. Dans ce cas, exécutez:

$ sudo tune2fs -l /dev/<partition_name> | egrep -i 'check|mount'
 Vérifier Pour Fsck 1
Vérifier Pour Fsck
  • Le nombre maximal de montages est le nombre de montages après lequel le système de fichiers sera automatiquement vérifié par fsck.
  • L’intervalle de vérification est le temps entre deux vérifications du système de fichiers.

Ces deux valeurs sont suffisantes pour identifier la dernière exécution de la commande fsck.

Différence entre fsck et e2fsck

Vous pouvez trouver différentes réponses / articles vous demandant d’exécuter e2fsck ou fsck.ext4 plutôt que fsck. Quelle différence cela fait-il si vous exécutez l’un de ces outils au lieu de fsck?

fsck est juste une interface pour toutes les commandes fsck spécifiques au système de fichiers comme les deux indiquées ci-dessus (un wrapper si vous pourriez dire). L’appel de fsck appelle automatiquement le fsck spécifique au système de fichiers correct. Voyons quels sont tous les fsck sur notre système:

$ ls -l /sbin/fsck*
 Différents Fsck
Liste de tous les fsck

L’exécution de fsck sur une partition ext2/3/4 exécute l’exécutable /sbin/fsck.ext* respectif. Ces exécutables sont à leur tour des liens durs vers l’exécutable e2fsck. Ainsi, même si vous exécutez fsck sur une partition ext4, il exécuterait finalement e2fsck.

Conclusion

Dans ce tutoriel, nous avons couvert fsck qui est un outil utile pour la récupération des systèmes de fichiers. Pour en savoir plus sur la commande fsck, consultez sa page de manuel.

Leave a Reply