Toutes nos données importantes résident dans un système de fichiers d'un type ou d'un autre, et des problèmes de système de fichiers sont probables. En 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 pas stocker de données sur un disque dur, soit un disque mécanique rotatif, soit un disque à semi-conducteurs. En réalité, 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 enregistrer les fichiers du système d'exploitation. Pour cela, un système de fichiers est créé tout au long de la procédure d'installation.
Les systèmes de fichiers sont créés par un logiciel, écrit par logiciel et lu par logiciel. Comme tu le sais, tous les logiciels complexes ont des bugs. Nos données sont d'une importance vitale 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 complète.
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 pas invincible. Si vos tables internes sont encodées, ils peuvent perdre la trace de l'emplacement de chaque fichier sur le lecteur, Quelle taille il a, quel nom il a et quelles autorisations de fichier sont définies sur eux.
Les fsck
La commande vous permet de vérifier que vos systèmes de fichiers sont sains. Si vous trouvez un problème, régulièrement peut également le réparer pour vous.
Effectuer des vérifications avant vol
À l'aide de fsck
besoin de 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 prennent pas l'avion, Ils le démarrent et volent vers le bleu pâle là-bas. Ils effectuent des vérifications avant vol. Les enjeux sont élevés pour faire le contraire. C'est une bonne habitude à développer. Avant d'utiliser fsck
vous devez vous assurer que vous allez l'utiliser dans la bonne unité. Ensuite, avant de faire quelque chose avec fsck
, faisons un peu d'accréditation.
Nous commencerons par fdisk
et canalisez-le dans less
. Nous ne demandons pas d'informations sur une partition spécifique. En utilisant le -l
option (prêt) fdisk
répertorie les tables de partition sur tous les périphériques trouvés dans le fichier "/proc / partitions", s'il existe.
sudo fdisk -l | moins
Nous pouvons voir les entrées pour /dev/sda
Oui /dev/sdb
. Vous pouvez faire défiler le fichier pour voir toutes les autres entrées qui peuvent exister sur votre ordinateur.
Les partitions en /dev/sda
sont répertoriés comme /dev/sda1
, /dev/sda2
, Oui /dev/sda3
. Ensuite, nous avons trois partitions sur le premier lecteur. 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'
Cette fois, nous obtenons des informations supplémentaires, y compris le type de système de fichiers sur chaque partition.
Modèle: DISQUE DUR ATA VBOX (Scsi) Disque /dev/sda: 34.4GB Sector size (logique/physique): 512B/512B Partition Table: gpt Disk Flags: Nombre Début Fin Taille Noms du système de fichiers Indicateurs de nom 1 1049kB 2097kB 1049kB bios_grub 2 2097kB 540MB 538MB fat32 Démarrage de la partition système EFI, Esp 3 540Mo 34,4 Go 33,8 Go ext4
Il y a trois lecteurs sur cet ordinateur de test. Ce sont les résultats des deux autres unités. /dev/sdb
Oui /dev/sdc
. Notez que ces systèmes de fichiers n’ont pas le champ “nom”.
sudo parted /dev/sdb 'print'
Modèle: DISQUE DUR ATA VBOX (Scsi) Disque /dev/sdb: 21.5GB Sector size (logique/physique): 512B/512B Partition Table: msdos Disk Flags: Nombre Début Fin Taille Type Indicateurs du système de fichiers 1 1049Ko 21,5 Go 21,5 Go primaire ext4
sudo parted /dev/sdc 'print'
Modèle: DISQUE DUR ATA VBOX (Scsi) Disque /dev/sdc: 21.5GB Sector size (logique/physique): 512B/512B Partition Table: msdos Disk Flags: Nombre Début Fin Taille Type Indicateurs du système de fichiers 1 1049Ko 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 du deuxième lecteur est ext4
et le système de fichiers du troisième disque est le plus ancien ext3
.
Nous passons un identifiant de partition à fsck
et vérifiez le système de fichiers de cette partition. Mais nous ne pouvons pas courir fsck
sur un système de fichiers monté. Nous devons démonter l'unité. Pour faire ça, nous devons connaître le point de montage où la partition est montée et, pour cela, le système de fichiers.
Nous pouvons facilement le découvrir 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 dans le premier (et seulement) partition de /dev/sdb
, lequel /dev/sdb1
. Nous avons vu plus haut qu'il s'agit d'un ext4
Système de fichiers, et est monté sur “/ Courir / monter / dave / sata2”.
Nous utiliserons le umount
commander. Veuillez noter qu’il n’y a pas de “m” au “umount”.
sudo umount /run/mount/dave/sata2
Avec umount
, L'absence de mauvaise nouvelle est une bonne nouvelle. Si vous revenez silencieusement à l'invite de commande, nous sommes prêts à commencer.
sudo fsck /dev/sdb1
Ce système de fichiers est signalé comme étant propre. Cela signifie que le système de fichiers ne signale aucune erreur ni aucun problème. 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.
écho $?
La valeur de retour de zéro indique qu'il n'y a pas d'erreurs. Les codes de retour possibles sont:
- 0: Sans fautes
- 1: Correction des erreurs du système de fichiers
- 2: Le système doit redémarrer
- 4: Erreurs du système de fichiers qui n'ont pas été corrigées
- 8: Erreur opérationnelle
- seize: 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 déclaré propre, nous pouvons forcer une vérification du système de fichiers à faire, en utilisant le -f
Option (Obliger).
sudo fsck /dev/sdb1 -f
Cette fois, la vérification prend plus de temps, mais faites un test plus approfondi du système de fichiers. Notre système de fichiers était vraiment propre et aucune erreur n'est signalée. Si des problèmes sont détectés lors du test, il vous sera demandé d'autoriser fsck
résoudre le problème ou ignorer l'erreur.
Lorsque vous avez fini de tester, vous devez remonter le système de fichiers. La façon la plus simple de le faire est d'utiliser mount
avec lui -a
(toutes les personnes) option. Cela vérifie dans "/ etc / fstab "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
Veuillez noter que vous n'avez pas besoin d'être informé. 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 utilisons dans /dev/sdb1
, Qu'est-ce qu'un ext4
partager.
sudo fsck /dev/sdc1 -f
Vous ne voudrez peut-être pas plonger directement dans la réparation du système de fichiers. Peut-être préférez-vous regarder avant de sauter. Vous pouvez demander fsck
ne proposez pas de réparer quoi que ce soit et signalez simplement les problèmes à la fenêtre du terminal. Les -N
L'option (course à sec) fait exactement ça:
sudo fsck -N /dev/sdb1
Le contraire c'est de compter fsck
donc vous ne vous embêtez pas à demander si vous trouvez des bugs, et allez-y et réparez-le. Pour faire ceci, utiliser el -y
(aucun avertissement) 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. Ensuite, Comment pouvons-nous courir? fsck
sur la partition racine? La solution consiste à interrompre la procédure de démarrage et à exécuter fsck
en mode récupération.
Pendant que votre ordinateur démarre, maintenez la touche enfoncée “Changement”. Si vous l'avez chronométré correctement, ne démarre pas sous Linux. La procédure de démarrage s'arrêtera sur un menu noir et blanc. La machine de test utilisée pour ce post exécutait Ubuntu, mais d'autres distributions ont le même type de menu, même s'il peut varier en apparence. Où il est dit “Ubuntu” dans les captures d’écran, aura le nom de votre distribution.
Déplacer la barre en surbrillance avec les touches “Flèche vers le haut” Oui “Flèche vers le bas” pour sélectionner l’élément de menu “Options avancées pour Ubuntu”. presse “Entrer” pour passer à l’écran suivant.
Sélectionnez l’option qui se termine par “(mode de récupération)”. Dans notre exemple, c'est “Ubuntu, avec Linux 5.11.0-20-générique (mode de récupération)”. appuyez sur la touche “Entrer”.
Vous verrez le menu de récupération. Veuillez sélectionner “fsck vérifier tous les systèmes de fichiers” et appuyez sur la touche “Languette” pour déplacer la surbrillance vers le bouton “Accepter”. presse “Entrer”.
Vous verrez une notification indiquant que la partition racine sera montée avec toutes les autres partitions définies dans votre fichier "/etc / fstab".
appuyez sur la touche “Languette” pour déplacer la surbrillance vers le bouton “Oui” et appuyez sur “Entrer”.
Tu verras fsck
exécuter en mode interactif. S'il y a des problèmes, on vous demandera de partir fsck
les corriger 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 “Languette” pour déplacer la surbrillance vers le bouton “Accepter” et appuyez sur “Entrer”. La procédure de démarrage reprendra et vous démarrerez sous Linux.
Le démarrage du mode de récupération peut affecter certains pilotes, c'est donc une bonne pratique de redémarrer une fois de plus, dès que je démarre linux. Cela garantit que votre ordinateur fonctionne normalement..
Quand les choses vont mal
Les filets de sécurité sont là pour une raison. Connaître le fsck
commander. Si le besoin s'en fait sentir de l'utiliser dans la colère un jour, vous serez heureux d'avoir fait connaissance à l'avance.