Comment utiliser la commande fsck sous Linux
Agence web » Actualités du digital » Comment utiliser la commande fsck sous Linux

Comment utiliser la commande fsck sous Linux

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 le fsck commande 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 en rotation 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 dans lequel les fichiers du système d’exploitation doivent être stockés. Un système de fichiers est donc créé pendant le processus d’installation.

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, nous accordons donc 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 mieux à même de gérer les problèmes pouvant être causés par une panne de courant soudaine ou un plantage 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 y sont définies.

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

Faire les contrôles en amont

En utilisant 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.

Les pilotes ne sautent pas dans un avion, ne le démarrent pas et ne s’envolent pas dans le bleu pâle là-bas. Ils font des contrôles en amont. 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. Alors avant de faire quoi que ce soit avec fsck, nous allons faire un peu de reconnaissance.

Nous commencerons par fdisk et injectez-le dans less. Nous ne demandons pas d’informations sur une partition spécifique. En utilisant le -l option (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 | less

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.

Observer la sortie dans la fenêtre du terminal

Les partitions sur /dev/sda sont répertoriés 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 le parted commander. Nous utiliserons le 'print' option pour afficher les tables de partition dans la fenêtre du terminal.

sudo parted /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.

Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sda: 34.4GB 
Sector size (logical/physical): 512B/512B 
Partition Table: gpt 
Disk Flags:

Number Start  End    Size    File system   Name                 Flags 
1      1049kB 2097kB 1049kB                                     bios_grub 
2      2097kB 540MB  538MB   fat32         EFI System Partition boot, esp 
3      540MB 34.4GB  33.8GB  ext4

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

sudo parted /dev/sdb 'print'
Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sdb: 21.5GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
Disk Flags:

Number Start  End    Size   Type     File system Flags 
1      1049kB 21.5GB 21.5GB primary  ext4
sudo parted /dev/sdc 'print'
Model: ATA VBOX HARDDISK (scsi) 
Disk /dev/sdc: 21.5GB 
Sector size (logical/physical): 512B/512B 
Partition Table: msdos 
Disk Flags:

Number Start  End    Size   Type     File system Flags
1      1049kB 21.5GB 21.5GB primary  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 disque est le plus ancien ext3.

Nous passons un identifiant de partition à fsck, et il vérifie le système de fichiers sur cette partition. Mais nous ne pouvons pas courir 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 le df commander.

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, lequel est /dev/sdb1 . Nous avons vu plus haut qu’il s’agit d’un ext4 système de fichiers, et il est monté sur « /run/mount/dave/sata2. »

Nous utiliserons le umount commander. Notez qu’il n’y a pas de « n » dans « umount ».

sudo umount /run/mount/dave/sata2

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

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 plus approfondie du système de fichiers n’est pas effectuée automatiquement. Nous pouvons également regarder le code de retour qui fsck retourné à la coquille.

echo $?

La valeur de retour de zéro n’indique aucune erreur. Les codes retour possibles sont :

  • 0: aucune erreur
  • 1: Erreurs du système de fichiers corrigées
  • 2: Le système doit être redémarré
  • 4: Erreurs du 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 propre, nous pouvons forcer une vérification du système de fichiers, en utilisant le -f (forcer) option.

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’est 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 le -a (tous) option. 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 seraient après un démarrage normal.

sudo mount -a

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

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, les ext3 système de fichiers sur notre PC de test, en utilisant exactement la même commande que nous avons utilisée sur /dev/sdb1, qui est un ext4 cloison.

sudo fsck /dev/sdc1 -f

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

Vous ne voudrez peut-être pas vous 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 ne pas proposer de réparer quoi que ce soit et simplement signaler les problèmes à la fenêtre du terminal. Le -N L’option (essai à sec) fait exactement cela :

sudo fsck -N /dev/sdb1

Avant de réparer un système de fichiers, effectuez un essai à sec

Le contraire, c’est de dire fsck de ne pas prendre la peine de demander s’il trouve des erreurs et de simplement les corriger. Pour ce faire, utilisez le -y (aucune invite) option.

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 courir fsck sur la partition racine ? La réponse est d’interrompre le processus de démarrage et d’exécuter fsck en mode récupération.

Pendant que votre ordinateur démarre, maintenez enfoncée une touche « Shift ». Si vous avez bien chronométré, vous ne démarrerez pas sous Linux. Le processus de démarrage s’arrêtera sur un menu en noir et blanc. La machine de test utilisée pour cet article utilisait 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 portera 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

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

Tu verras fsck fonctionner en mode interactif. S’il y a des problèmes, vous serez invité à laisser fsck les corriger ou les ignorer. Une fois les systèmes de fichiers vérifiés, le menu de récupération s’affichera à nouveau.

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

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

Quand les choses vont mal

Les filets de sécurité sont là pour une raison. Apprenez à connaître le fsck commander. Si le besoin s’en fait sentir un jour de l’utiliser dans la colère, vous serez heureux de vous être familiarisé à l’avance.

★★★★★