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.
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.
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
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
- Maintenez la touche
SHIFT
pendant le démarrage pour accéder au menu GRUB. - Appuyez sur
e
pour modifier l’entrée de démarrage - Ajoutez le paramètre du noyau comme ‘
break
‘ comme indiqué dans la capture d’écran ci-dessous - Appuyez sur
Ctrl - X
pour enregistrer et quitter
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>
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'
- 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*
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