web-dev-qa-db-fra.com

FSCK: options pour la plupart des cas de disque approfondi

J'ai un disque avec un problème connu (je sais parce que DD gags quand j'essaie de le cloner). Mais quand je démarre avec un CD en direct et exécutez FSCK sur la partition non montée, je reçois ceci:

ubuntu@ubuntu:~$ Sudo fsck /dev/sdf1
fsck 1.41.4 (27-Jan-2009)
e2fsck 1.41.4 (27-Jan-2009)
/dev/sdf1: clean, 227091/9625600 files, 12789815/38497756 blocks

un milliseconde plus tard. Il est difficile de croire que cela vérifie tout le disque dur dans une MS.

Je ne suis pas non plus certain de savoir si je devrais être FSCK 'SDF1 ou l'ensemble du disque de disque physique SDF. Quand j'essaie tout le lecteur:

ubuntu@ubuntu:~$ Sudo fsck /dev/sdf
fsck 1.41.4 (27-Jan-2009)
e2fsck 1.41.4 (27-Jan-2009)
fsck.ext2: Device or resource busy while trying to open /dev/sdf
Filesystem mounted or opened exclusively by another program?

Ce que je ne comprends pas car aucune des partitions ne semble être montée (je viens de démarrer à partir d'un CD en direct et dirigé la commande).

Donc, ma question de base est la suivante: comment puis-je obtenir FSCK (ou un outil différent qui pourrait fonctionner mieux) de dépenser plus qu'un milliseconde analyser mon disque de problème?

12
Fred Hamilton

Tout d'abord, vous avez raison sur la course FSCK sur la partition - FSCK ne fonctionne que sur les systèmes de fichiers, pas des disques entiers. Vous pouvez obtenir une liste de toutes partitions sur le disque avec fdisk -l /dev/sdd.

Votre type de fichier de fichiers est probablement ext3 (la valeur par défaut dans la plupart des distributions Linux), ce qui signifie qu'il réussira généralement un FSCK tant que son journal est propre. fsck -f volonté, comme mentionné ci-dessus, forcez une vérification complète.

Toutefois, si vous avez des erreurs de lecture sur le disque, aucune quantité de FSCK ne vous aidera DD - car DD ne se soucie vraiment pas du contenu du disque.

Pour obtenir DD pour lire le disque et continuer à lire les erreurs, utilisez dd conv=noerror,sync, qui continuera à lire les erreurs et appendez NULL octets à n'importe quel bloc lorsqu'il y a une erreur de lecture.

Après avoir terminé la sauvegarde, vous devriez courir fsck -f Sur le clone pour la faire courir et courir à nouveau.

Un autre conseil: Si vous sauvegardez la partition dans un fichier, vous pouvez le monter en loopback avec mount -o loop filename.ext3 /mountpoint. En outre, disons que vous clonant une partition de 200 g à un lecteur de 500 g, vous pouvez ensuite exécuter resize2fs /dev/sdx1 (où SDX est votre nouveau lecteur, partitionné par une seule partition de 500 g) et le système de fichiers sera redimensionné à 500 g.

Enfin, si le disque est dans une telle forme qu'il vous donne des erreurs de lecture, je vous conseillerais d'éviter de désactiver le disque et de la récupération de données. Dans certains modes de défaillance, le disque sera à un moment donné, tout simplement ne plus transpercer ou ne pas être reconnu par le système d'exploitation, et à ce stade, obtenir des données hors de l'entraînement devient assez coûteux.

14
Kristian

Vous voulez que l'option -f FSCK (force vérifie même si le système de fichiers semble propre.)

Vous devez exécuter FSCK en mode utilisateur unique. Un moyen facile de le faire sans une démarrage en direct CDDOM est de redémarrer avec l'option -f.

shutdown -rF now 
5
Richard Hoskins