Comment utiliser la commande fsck sous Linux

Publié: 2022-01-29
Un disque dur avec un code binaire écrit dessus.
Pixza Studio/Shutterstock

Toutes nos données importantes se trouvent dans un système de fichiers d'un type ou d'un autre, et des problèmes de système de fichiers sont inévitables. Sous Linux, nous pouvons utiliser la commande fsck pour rechercher et corriger les erreurs du système de fichiers.

Les systèmes de fichiers sont des logiciels

Les systèmes de fichiers sont l'un des composants les plus critiques d'un ordinateur. Sans système de fichiers, l'ordinateur ne peut stocker aucune donnée sur un disque dur, qu'il s'agisse d'un plateau mécanique tournant ou d'un disque SSD. En fait, un système de fichiers doit être créé avant que le système d'exploitation puisse être installé sur le disque dur. Il doit y avoir quelque chose pour stocker les fichiers du système d'exploitation. Un système de fichiers est donc créé pendant le processus d'installation.

10 commandes Linux de base pour les débutants
CONNEXION 10 commandes Linux de base pour les débutants

Les systèmes de fichiers sont créés par un logiciel, écrits par un logiciel et lus par un logiciel. Comme vous le savez, tous les logiciels complexes ont des bugs. Nos données sont d'une importance cruciale pour nous, c'est pourquoi nous accordons une grande confiance aux systèmes de fichiers et aux logiciels qui les créent et les utilisent. Si quelque chose ne va pas, nous pouvons perdre l'accès à des parties du système de fichiers ou même à une partition entière.

Les systèmes de fichiers de journalisation modernes sont plus efficaces pour gérer les problèmes qui peuvent être causés par une coupure de courant soudaine ou une panne du système. Ils sont robustes, mais ils ne sont pas invincibles. Si leurs tables internes sont brouillées, ils peuvent perdre la trace de l'emplacement de chaque fichier sur le lecteur, de sa taille, de son nom et des autorisations de fichier qui lui sont attribuées.

La commande fsck vous permet de vérifier que vos systèmes de fichiers sont sains. S'il détecte des problèmes, il peut généralement les résoudre pour vous aussi.

Effectuez les vérifications avant le vol

L'utilisation de fsck nécessite des privilèges sudo. Toute commande pouvant apporter des modifications à un système de fichiers doit être traitée avec prudence et réservée à ceux qui savent ce qu'ils font.

Publicité

Les pilotes ne sautent pas dans un avion, le démarrent et s'envolent dans le bleu pâle là-bas. Ils font des vérifications avant le vol. Il y a trop en jeu pour faire autrement. C'est une bonne habitude à développer. Avant d'utiliser fsck , vous devez vous assurer que vous allez l'utiliser sur le bon lecteur. Donc avant de faire quoi que ce soit avec fsck , nous allons faire un peu de reconnaissance.

Nous allons commencer avec fdisk et le rediriger vers less . Nous ne demandons pas d'informations sur une partition spécifique. En utilisant l'option -l (liste), fdisk répertorie les tables de partitions sur tous les périphériques qu'il trouve dans le fichier « /proc/partitions », s'il existe.

 sudo fdisk -l | moins 

Nous pouvons voir les entrées pour /dev/sda et /dev/sdb . Vous pouvez faire défiler le fichier pour voir toutes les autres entrées qui pourraient exister sur votre ordinateur.

Observez la sortie dans la fenêtre du terminal

Les partitions sur /dev/sda sont répertoriées comme /dev/sda1 , /dev/sda2 et /dev/sda3 . Nous avons donc trois partitions sur le premier disque. Nous pouvons voir un peu plus d'informations en utilisant la commande parted . Nous utiliserons l'option 'print' pour afficher les tables de partition dans la fenêtre du terminal.

 sudo séparé /dev/sda 'print' 

Obtenir des informations sur les tables de partition

Nous obtenons cette fois des informations supplémentaires, notamment le type de système de fichiers sur chaque partition.

 Modèle : DISQUE DUR ATA VBOX (scsi) 
Disque /dev/sda : 34,4 Go 
Taille de secteur (logique/physique) : 512B/512B 
Table de partition : gpt 
Indicateurs de disque :

Numéro Début Fin Taille Système de fichiers Nom Indicateurs 
1 1049 Ko 2097 Ko 1049 Ko bios_grub 
2 2 097 Ko 540 Mo 538 Mo fat32 Démarrage de la partition système EFI, en particulier 
3 540 Mo 34,4 Go 33,8 Go ext4
Publicité

Il y a trois disques dans cet ordinateur de test. Voici les résultats pour les deux autres lecteurs /dev/sdb et /dev/sdc . Notez que ces systèmes de fichiers n'ont pas de champ "Nom".

 sudo séparé /dev/sdb 'print'
 Modèle : DISQUE DUR ATA VBOX (scsi) 
Disque /dev/sdb : 21,5 Go 
Taille de secteur (logique/physique) : 512B/512B 
Table de partition : msdos 
Indicateurs de disque :

Numéro Début Fin Taille Type Système de fichiers Indicateurs 
1 1049 Ko 21,5 Go 21,5 Go primaire ext4
 sudo séparé /dev/sdc 'print'
 Modèle : DISQUE DUR ATA VBOX (scsi) 
Disque /dev/sdc : 21,5 Go 
Taille de secteur (logique/physique) : 512B/512B 
Table de partition : msdos 
Indicateurs de disque :

Numéro Début Fin Taille Type Système de fichiers Indicateurs
1 1 049 Ko 21,5 Go 21,5 Go primaire ext3

Les deuxième et troisième disques ont la même taille et chacun a une seule partition. Mais le système de fichiers sur le deuxième lecteur est ext4 , et le système de fichiers sur le troisième lecteur est l'ancien ext3 .

Comment monter et démonter des périphériques de stockage à partir du terminal Linux
CONNEXION Comment monter et démonter des périphériques de stockage à partir du terminal Linux

Nous transmettons un identifiant de partition à fsck , et il vérifie le système de fichiers sur cette partition. Mais nous ne pouvons pas exécuter fsck sur un système de fichiers monté. Nous devons démonter le lecteur. Pour ce faire, nous devons connaître le point de montage sur lequel la partition (et donc le système de fichiers) est montée.

Nous pouvons le découvrir facilement en utilisant la commande df .

 df /dev/sdb1
 df /dev/sdc1 

Utilisation de la commande fsck

Nous avons toutes les informations dont nous avons besoin. La première chose que nous allons faire est de démonter le système de fichiers que nous allons vérifier. Nous allons travailler sur le système de fichiers sur la première et unique partition de /dev/sdb , qui est /dev/sdb1 . Nous avons vu précédemment qu'il s'agit d'un système de fichiers ext4 et qu'il est monté sur "/run/mount/dave/sata2".

Nous allons utiliser la commande umount . Notez qu'il n'y a pas de "n" dans "umount".

 sudo umount /exécuter/monter/dave/sata2 

Utilisez la commande umount pour démonter le système de fichiers.

Publicité

Avec umount , pas de nouvelles, bonnes nouvelles. Si vous revenez silencieusement à l'invite de commande, nous sommes prêts à partir.

 sudo fsck /dev/sdb1 

Utilisez la commande fsck pour vérifier l'état du système de fichiers.

Ce système de fichiers est signalé comme étant propre. Cela signifie que le système de fichiers signale qu'il n'a pas d'erreurs ou de problèmes. Une vérification approfondie du système de fichiers n'est pas effectuée automatiquement. Nous pouvons également examiner le code de retour que fsck a renvoyé au shell.

 echo $? 

La valeur de retour de zéro indique qu'il n'y a pas d'erreurs. Les codes de retour possibles sont :

  • 0 : Aucune erreur
  • 1 : Erreurs de système de fichiers corrigées
  • 2 : Le système doit être redémarré
  • 4 : Erreurs de système de fichiers non corrigées
  • 8 : Erreur de fonctionnement
  • 16 : Erreur d'utilisation ou de syntaxe
  • 32 : Vérification annulée à la demande de l'utilisateur
  • 128 : erreur de bibliothèque partagée

Bien que le système de fichiers soit signalé comme étant propre, nous pouvons forcer une vérification du système de fichiers à l'aide de l'option -f (force).

 sudo fsck /dev/sdb1 -f 

Forcer une vérification du système de fichiers à l'aide de l'option force dans une commande fsck

Cette fois, la vérification prend plus de temps, mais elle effectue un test plus approfondi du système de fichiers. Notre système de fichiers était en effet propre et aucune erreur n'a été signalée. Si des problèmes sont détectés au cours des tests, vous serez invité à laisser fsck résoudre le problème ou à ignorer l'erreur.

Une fois les tests terminés, vous devez remonter le système de fichiers. La façon la plus simple de le faire est d'utiliser mount avec l'option -a (all). Cela vérifie "/etc/fstab" pour la liste des systèmes de fichiers et s'assure qu'ils sont tous montés comme ils le feraient après un démarrage normal.

 montage sudo -a 

Remontez le système de fichiers à l'aide de la commande mount

Quel système de fichiers Linux devriez-vous utiliser ?
CONNEXION Quel système de fichiers Linux devriez-vous utiliser ?

Notez que nous n'avons pas besoin de dire à fsck quel type de système de fichiers se trouve sur une partition ; l'utilitaire le détermine en examinant le système de fichiers. Cela signifie que nous pouvons forcer une vérification du système de fichiers sur /dev/sdc1 , le système de fichiers ext3 sur notre PC de test, en utilisant exactement la même commande que nous avons utilisée sur /dev/sdb1 , qui est une partition ext4 .

 sudo fsck /dev/sdc1 -f 

Utilisez la commande fsck pour forcer une vérification du système de fichiers

Publicité

Vous ne voudrez peut-être pas plonger directement dans la réparation du système de fichiers. Vous préférerez peut-être regarder avant de sauter. Vous pouvez demander à fsck de ne pas proposer de réparer quoi que ce soit et de simplement signaler les problèmes à la fenêtre du terminal. C'est exactement ce que fait l'option -N (essai à sec) :

 sudo fsck -N /dev/sdb1 

Avant de réparer un système de fichiers, faites un essai

L'opposé de cela est de dire à fsck de ne pas s'embêter à demander s'il trouve des erreurs, et d'aller de l'avant et de les corriger. Pour ce faire, utilisez l'option -y (pas d'invite).

 sudo fsck -y /dev/sdb1

Utilisation de fsck sur la partition racine

Vous ne pouvez pas utiliser fsck sur une partition montée, mais pour démarrer votre ordinateur, la partition racine doit être montée. Alors, comment pouvons-nous exécuter fsck sur la partition racine ? La réponse est d'interrompre le processus de démarrage et d'exécuter fsck en mode de récupération.

Pendant que votre ordinateur démarre, maintenez la touche "Shift" enfoncée. Si vous avez bien chronométré, vous ne démarrerez pas sous Linux. Le processus de démarrage s'arrêtera à un menu noir et blanc. La machine de test utilisée pour cet article exécutait Ubuntu mais d'autres distributions ont le même type de menu, bien qu'il puisse varier en apparence. Là où il est écrit "Ubuntu" dans les captures d'écran, il aura le nom de votre distribution.

Menu de récupération avec l'élément de menu des options avancées sélectionné

Déplacez la barre de surbrillance avec les touches "Flèche vers le haut" et "Flèche vers le bas" afin que l'élément de menu "Options avancées pour Ubuntu" soit sélectionné. Appuyez sur "Entrée" pour passer à l'écran suivant.

Menu de récupération avec l'élément de menu "mode de récupération" sélectionné

Publicité

Sélectionnez l'option qui se termine par "(mode de récupération)." Dans notre exemple, il s'agit de "Ubuntu, avec Linux 5.11.0-20-generic (mode de récupération)". Appuyez sur la touche "Entrée".

Vous verrez le menu de récupération. Sélectionnez "fsck vérifier tous les systèmes de fichiers" et appuyez sur la touche "Tab" pour déplacer la surbrillance sur le bouton "OK". Appuyez sur Entrée."

Menu de récupération avec fsck sélectionné

Vous verrez une notification indiquant que la partition racine sera montée avec toutes les autres partitions définies dans votre fichier "/etc/fstab".

Sélectionnez oui pour lancer fsck en mode interactif

Appuyez sur la touche "Tab" pour déplacer la surbrillance sur le bouton "Oui" et appuyez sur "Entrée".

Vous verrez fsck s'exécuter en mode interactif. S'il y a des problèmes, vous serez invité à laisser fsck les résoudre ou à les ignorer. Lorsque les systèmes de fichiers ont été vérifiés, vous verrez à nouveau le menu de récupération.

Sélectionnez l'option "reprendre", appuyez sur la touche "Tab" pour déplacer la surbrillance sur le bouton "Ok", puis appuyez sur "Entrée". Le processus de démarrage reprendra et vous démarrerez sous Linux.

Publicité

Le démarrage en mode de récupération peut affecter certains pilotes, il est donc recommandé de redémarrer une fois de plus, dès que vous démarrez sous Linux. Cela garantit que votre ordinateur fonctionne de manière standard.

Quand les choses vont mal

Les filets de sécurité existent pour une raison. Familiarisez-vous avec la commande fsck . Si le besoin se fait sentir de l'utiliser un jour dans la colère, vous serez content de vous être familiarisé à l'avance.

CONNEXION: Meilleurs ordinateurs portables Linux pour les développeurs et les passionnés