Vérifier son système de fichiers sous Linux |
Malgrès une robustesse supérieure aux systèmes de fichiers de Microsoft grace aux avantages de la journalisation, les FS linuxiens (FileSystem) se doivent d'être vérifiés de temps en temps. Dans le cas de l'ext2, un mauvais démontage d'une partition (comme un arrêt brutal) enclenche automatiquement FSCK au démarrage suivant. Ceci pour la simple et bonne raison que l'ext2 n'est pas journalisé et qu'il risque très fortement une perte de donnée ou une corruption plus ou moins importante lors d'un redémarrage brutal (comme le scandisk sous Windows 95/98 avec une partition FAT32 ).
Nous allons traiter la vérification et la réparation des trois systèmes de fichiers linuxiens les plus populaires et de la FAT32 de Microsoft. Le cas de l'ext2 et de l'ext3 sont très liés puisque l'ext3 n'est qu'un simple ext2 avec un fichier journal. En général on voit souvent la commande et l'utilitaire FSCK dans les divers tutoriels sur Internet. Je préfère aborder directement chaque outil pour chaque système de fichiers. L'utilitaire FSCK est en fait une supercommande regroupant les logiciels e2fsck, dosfsck et reiserfsck que nous allons utiliser. Si utiliser FSCK pour vérifier de l'ext2 ou de l'ext3 fonctionne très bien, le cas du ReiserFS ou de la FAT32 est beaucoup moins évident. Mieux vaut aller directement au logiciel approprié.
N'oubliez pas que pour toute vérification du système de fichiers vous devez impérativement démonter la partition concernée. Dans le cas du ReiserFS, il suffit que vous ayez oublié ce détail et spécifié une option de forçage pour risquer une sérieuse perte de données. La commande pour démonter une partition est la suivante:
umount [votre partition]
Tous les utilitaires suivants et la commande que je viens de préciser utilisent la notation du noyau Linux. A savoir /dev/hda1 pour la première partition du premier disque IDE, /dev/hda2 pour la seconde partition du premier disque IDE, /dev/hdb1 pour la première partition du second disque IDE. Dans le cas d'un disque SATA, le noyau Linux verra les partitions sous la forme /dev/sda1, /dev/sda2, /dev/sdb1... Vous avez suivi? Oui? Hé bien tant mieux alors continuons!
Vous n'êtes pas un adepte de la console? Vous allez pourtant devoir vous y plonger! Cette partie s'adresse à ceux qui ne savent comment arrêter leur serveur graphique et passer leur système Linux en Init 1
Avant d'arrêter le serveur graphique X, quittez votre session et enregistrez votre travail en cours. Vous devriez vous retrouver à l'écran de login de session (GDM ou KDM dans la plupart des cas). Vous pouvez dès ce moment là appuyez simultanément sur les touches Ctrl + Alt + F1. Pouf! Que se passe t-il? Ca fait peur ce fond noir et ces lettres blanches très moches! Ne vous inquiétez pas, vous n'avez rien cassé, vous êtes maintenant devant le pure style Linux. Cet écran que l'on appelle un terminal vous invite à taper des commandes.
Commencez par vous identifier en root avec la commande:
su ou sudo -s (pour Ubuntu)
Ceci fait, vous pouvez maintenant changer de Runlevel. Vous étiez en Runlevel 5 (l'interface graphique) et vous voulez passer en Runlevel 1 où le système tourne avec le strict minimum. Il s'agit d'un mode dont on se sert souvent pour la maintenance d'un système Linux. Pour changer de Runlevel, tapez la commande init [numero du runlevel], dans notre cas ce sera:
init 1
Si la commande init ne fonctionne pas, utilisez telinit [numero du runlevel].
Dans tous les cas, sachez que si vous êtes perdus, que vous en avez marre ou autre raison pas valable, vous pouvez arrêter l'ordinateur via la commande halt ou redémarrer via la commande reboot. Toutes les commandes citées depuis le début de ce tuto se réalisent uniquement en root.
Pour trouver et réparer les erreurs sur un système de fichiers ext2 ou ext3 on se sert de e2fsck. Cet utilitaire vérifie la bonne coérence des inodes, de la taille des fichiers et peut même trouver et récupérer les blocs défecteux du disque (j'entend par là récupérer les données). La commande invoquée est tout simplement e2fsck suivie de la partition à vérifier. Voici un exemple pour vérifier la première partition de mon premier disque SATA:
e2fsck /dev/sda1
Il ne serait pas utile de faire tout un tutoriel sur les vérifications de systèmes de fichiers si l'on s'arrêtait bêtement là. Nous allons maintenant parler des options. Comme pour la plupart des commandes et des utilitaires Linux, les options suivent la commande juste avant la cible. Elles commencent par des tirets ou des doubles tirets. Si je veux par exemple attribuer l'option de réparation automatique en cas d'erreur, je vais rajouter -p, ma commande sera donc:
e2fsck -p /dev/sda1
Vous pouvez combiner plusieurs options! Par exemple si vous voulez réparer automatiquement et puis afficher tous les messages d'execution du programme, vous allez ajouter l'option -v. Cela nous donnerait une commande un peu comme cela:
e2fsck -p -v /dev/sda1
C'est bon vous avez tout compris? Excellent vous savez maintenant l'essentiel!
Je vais maintenant vous regrouper toutes les options utiles dans un tableau ci-dessous:
Option | Effet |
-p | Répare automatiquement le système de fichier. Conseillé aux néophytes. |
-f | Force la vérification du système de fichier même si celui-ci est marqué propre. Obligatoire lorsque la partition est en ext3. |
-v | Afficher le détail des opérations en cours. Si ce n'est pas spécifié, vous n'avez aucune idée d'où en est le scan. |
-n | Ne pas corriger les erreurs et laisser le système de fichiers tel qu'il est. |
-y | Répondre oui à toutes les questions. Ne fonctionne pas lorsque la réparation automatique est activée. Ce mode permet de réparer toutes les erreurs même lorsqu'il faut pour cela effacer un fichier! |
Je vais maintenant vous donner une commande typique, sans danger et qui marche dans tous les cas:
e2fsck -p -f -v /dev/xxxx
Où xxxx est bien sûr à remplacer par votre numéro de disque et de partition dans la notation Linux!
malgrès sa réputation de robustesse, de fiabilité et de performance plus élevée que l'ext3, le ReiserFS peut toutefois nécessiter une vérification intensive. Contrairement au cas de l'ext2 et de l'ext3, la vérification d'un système de fichiers ReiserFS via la commande fsck peut se réveler totalement inefficace. Nous allons donc utiliser l'utilitaire directement dédié à ce système de fichiers. il s'agit de reiserfsck.
Contrairement à e2fsck, reiserfsck fonctionne avec un mode et une partition cible. Il existe cinq modes différents
Mode | Action du mode |
--check | Se contente de vérifier si la partition contient des erreurs sans les corriger. |
--fix-fixable | Permet de vérifier et de réparer de manière sûre les erreurs les plus courantes sur une partition ReiserFS. |
--rebuild-sb | Ce mode spécial permet de vérifier le suberblock ReiserFS. Si ce dernier est corrompu, il est reconstruit. Cette opération reste sûre même si les corruptions du superblock sont beaucoup moins courantes que celles des fichiers en eux-même. |
--rebuild-tree | Mode dangeureux! A n'utiliser que si vous savez ce que vous faîtes! Ce mode permet de recontruire l'arborescence de fichiers si la partition est corrompue. En général ce mode n'est utilisée que pour récupérer des données sur une partition très sérieusement endommagée! |
--clean-attributes | Ce mode permet de vérifier si les attributs des fichiers correspondent bien à leur valeur réelle. Par exemple si l'espace disque est correctement répertorié... |
Si vous regardez bien ce tableau, vous remarquez que pour vérifier et réparer complêtement une partition ReiserFS, il est nécessaire de lancer trois mode différents, l'ennui c'est qu'une commande ne prend en compte qu'un seul mode à la fois. Pour remédier à cela, vous pouvez chainer les commandes avec le point virgule ;. Voici un exemple de scan complet:
reiserfsck --fix-fixable /dev/sda1;reiserfsck --rebuild-sb /dev/sda1;reiserfsck --clean-attributes /dev/sda1
Après l'execution de cette série de commandes, votre système de fichier ReiserFS sera comme neuf!
Parmis les systèmes de fichiers de Microsoft encore utilisés, il y a le FAT32 courament rencontré sur les clés USB, certains disques durs externes et les baladeurs multimedia. Il s'agit également du système de fichier utilisé par Windows 98 et qui peut encore être rencontré sur les Windows plus récents (même s'il s'agit de cas plus rares). Le FAT32 a été ouvert par Microsoft et sa gestion en lecture et écriture sous Linux n'a jamais réellement posé de problème. La vérification et la réparation y sont donc possibles avec même plus d'efficacité que avec les outils de Microsoft!
dosfsck se présente un petit peu comme e2fsck. Il prend la forme de
dosfsck -option1 -option2 [partition cible]
Inutile de vous dire que je vais vous présenter toutes les options les plus utiles et les regrouper dans un tableau! C'est parti!
Option | Effet |
-a | Appliquer les réparations automatiquement et de manière complête et sûre. |
-v | Mode permettant d'avoir le détail de la vérification. Conseillé pour avoir une idée de l'avancement du scan. |
-t | Permet de vérifier et de récupérer les clusters défectueux. |
-V | Executer une passe de vérification. |
-w | Effectuer les changements sur le disque immédiatement. |
Rappelez-vous que votre système Linux est sensible à la casse, l'option -v n'est pas -V. Les majuscules et les minuscules ont donc toute leur importance!
Puisque vous voulez votre commande type je vais vous la donner. Tenez la voilà...
dosfsck -a -v -V -w /dev/sda1
Voilà, à noter que dans le cas de dosfsck, toutes les options sont utiles et sans danger. Servez vous en!
Retour en haut de la page | Retour à l'accueil |