Fsck agressive d'un disque avant l'installation

12

J'ai une vieille machine HP Athlon que j'utilise pour tester des logiciels sous l'ancien processeur. Nous avons des baisses de tension fréquentes et après le dernier, le disque était en désordre. C'était tellement mauvais que je n'ai pas pu courir fscket résoudre tous les problèmes. J'ai effectué une nouvelle installation du système d'exploitation, mais je reçois toujours des fsckplaintes.

Je voudrais essayer une dernière fois de recharger Linux avant de condamner le disque dur ou la machine. Une fois le système de fichiers créé, mais avant que l'installation ne se produise, j'aimerais qu'un agressif soit fsckeffectué pour marquer les blocs suspects comme mauvais.

Le disque est grand (environ 500 Go) et une distribution Debian 8 est relativement petite (8-12 Go est généralement plus que suffisant), donc je me fiche que les bons blocs soient marqués comme mauvais. J'aime aussi l'installation GUI, mais je ne suis pas mariée avec elle.

J'ai deux questions:

  1. Debian 8 offre-t-elle le choix d'effectuer un fsckavant d'installer le système de base? Si oui, où est-il? Sinon, quel est le processus?

  2. Y fscka- t -il un paramètre pour contrôler l'agressivité des blocs marqués comme mauvais? Si oui, c'est quoi? Sinon, que peut-on utiliser?


EDIT : la machine est un HP5850. En entrant dans le BIOS, en naviguant vers Stockage puis Auto-test du système de protection du lecteur (DPS), DPS a recommandé de remplacer le lecteur. DPS n'a fourni aucune statistique, donc je ne suis pas sûr de l'étendue des dégâts.

Étant donné que je peux acheter un [ancien] nouveau disque SATA II pour 12 USD, je vais juste le remplacer. Il n'y a aucun sens à y perdre du temps ou de l'énergie.


Les références associées sont les suivantes. Aucune de ces questions ne semble être abordée.


la source
Pourquoi pas SpinRite ?
Peter Mortensen
Si vous avez des blocs défectueux, le lecteur entier est physiquement défaillant et ne doit pas être utilisé.
chrylis -on strike-
2
"Agressivement fsck un disque" a l'air si sale ...
A. Mirabeau

Réponses:

19
  1. "Est-ce que Debian 8 offre le choix d'effectuer un fsck avant d'installer le système de base? Si oui, où est-il? Sinon, alors quel est le processus?"

    Comme alternative, téléchargez et gravez d'abord un CD GPartEd (ou écrivez sur une clé USB). Avant d'exécuter le programme d'installation, démarrez GPartEdet partitionnez le disque à votre guise et exécutez-le fsckou exécutez -le simplement badblocksen long.

    Lorsque vous exécutez le programme d'installation Debian, dites-lui simplement comment utiliser les partitions qui s'y trouvent. Le programme d'installation n'a pas besoin de créer ses propres partitions. Il est parfaitement heureux d'utiliser les partitions existantes.

  2. "Est-ce que fsck a un paramètre pour contrôler l'agressivité des blocs qui sont marqués comme mauvais? Si oui, qu'est-ce que c'est? Sinon, alors qu'est-ce qui peut être utilisé?"

    L' -coption pour e2fsckle faire exécuter le badblocksprogramme pour rechercher les blocs défectueux. Vous pouvez également exécuter des badblocks directement. Par défaut, badblockseffectue un test en lecture seule. Pour être plus agressif, vous pouvez spécifier -nun test de lecture-écriture non destructif. Vous pouvez également définir l' -poption pour augmenter le nombre de passes qu'il effectue.

    Vous voudrez peut-être exécuter badblocksavant de partitionner. De cette façon, vous pouvez spécifier le -wtest en écriture seule plus rapide .

John1024
la source
1
John, +1, juste curieux a-t- badblocksil une méthode pour marquer au niveau matériel, ou juste au niveau FS?
heemayl
3
@heemayl Ma compréhension est que, sur les disques durs modernes , le micrologiciel du disque dur essaie de faire sa propre mauvaise gestion des blocs. Le but de l'exécution badblocksest simplement de forcer le disque dur à lire / écrire tous les secteurs. Le disque dur possède sa propre détection et remappage des secteurs défectueux et, si tout fonctionne comme il se doit, le badblocksprogramme n'est jamais informé que le disque dur le fait.
John1024
hmmm..compréhensible. Donc en substance, fsck peut marquer des blocs sur FS mais les badblocks aident simplement le firmware du disque à faire le marquage, ne fait rien de lui-même?
heemayl
3
@heemayl Dans les temps anciens, badblockscrachait une liste de secteurs défectueux et le système de fichiers en prenait note. Dans les temps modernes, badblocks et les FS essaient toujours de le faire, mais avec une HD moderne, la liste est généralement vide.
John1024
1
@heemayl, et si la liste n'est pas vide, le disque est généralement si mal cassé que votre meilleure option est de le remplacer.
Mark
7

Si vous rencontrez souvent des erreurs fsck, le lecteur peut également cracher du sang. Même si vous marquez chaque bloc défectueux comme mauvais, il ne faudra pas longtemps avant que d'autres blocs ne se dégradent. J'imagine que vous pourriez changer en un autre tty pour faire un fsck si vous en avez vraiment besoin (Ctrl + alt + F2 pour passer en tty2), mais je ne saurais trop insister sur combien vous avez besoin d'un nouveau disque dur si ce que vous dites est précis.

John Leuenhagen
la source
"Si vous obtenez souvent des erreurs fsck ..." - ce dont je ne suis pas sûr, c'est la poignée de fsckproblèmes après la réinstallation, l'étendue du problème ou la pointe de l'iceberg. Le système démarre, rencontre quelques erreurs de système de fichiers (4 ou 6), récupère en remontant en lecture seule, puis démarre.
@jww, pouvez-vous s'il vous plaît poster quelques exemples exacts desdites erreurs du système de fichiers?
John Leuenhagen
Pourquoi passer à un autre tty? Quel avantage cela offre-t-il?
fpmurphy
@ fpmurphy1, il semblait qu'il ne pouvait pas ouvrir une fenêtre de terminal, donc passer à un autre tty serait la prochaine meilleure façon d'entrer dans un shell.
John Leuenhagen
@jww: les mêmes blocs sont-ils signalés à chaque fois, ou un nouvel ensemble est-il signalé à chaque démarrage?
TMN
5
  1. Non, et je ne pense pas que cela en vaille la peine. Fsck (tel qu'implémenté par la plupart des systèmes de fichiers) ne vérifie pas vos lecteurs. Il valide les métadonnées du système de fichiers et s'assure que la vue est cohérente lorsque vous les montez. Cela n'a pas beaucoup de sens de le faire avant l'installation, car par définition, vous n'aurez que de l'espace vide.

  2. Utilisez plutôt des blocs défectueux . Si vous voulez vous assurer que vos données ne pourrissent pas, utilisez un système de fichiers qui prend en charge le nettoyage. Lvm lui-même peut le faire aussi .

viraptor
la source
3

Pour vérifier la fiabilité d'un disque moderne, envisagez d'utiliser les tests intégrés; vous pouvez les déclencher avec l'utilitaire smartctl, par exemple:

smartctl -t long /dev/sdx
#wait an hour or two
smartctl -a /dev/sdx
#should have recorded a result in the self-test log

Si vous voulez vous assurer au préalable que tout a été écrit récemment, afin de découvrir les secteurs qui n'écriront pas correctement, vous pouvez écraser tout le support avec quelque chose comme un dd de / dev / urandom, ou déchiqueter avec l'un des randomiseurs les options.

rackandboneman
la source
3
Notez que l'exécution de ddfrom /dev/randomprendra plusieurs jours sur un disque de 500 Go.
Dmitry Grigoryev
1
correction de la faute de frappe, thx :) Je ne voulais pas expliquer la syntaxe dd exacte car je voulais éviter d'avoir des lignes de commande autour de cela, si elles étaient collées accidentellement dans un shell, cela entraînerait une perte de données vraiment irrécupérable.
rackandboneman
Malheureusement, Debian ne semble pas fournir smartctl: E: Unable to locate package smartctl. Est-ce un utilitaire Red Hat / Fedora?
le paquet debian / ubuntu est smartmontools. BTW, utilisez la recherche apt-cache pour rechercher quel paquet contient quelque chose.
rackandboneman
2

Je recommanderais d'obtenir le logiciel de bas niveau du fabricant (le cas échéant) qui ne peut fonctionner que sur Windows (ou si vous avez de la chance, à partir d'un CD / DVD / USB amorçable pour lequel vous téléchargeriez une image à partir de leur site Web) . Si vous avez un contrôle suffisant sur l'opération pour réduire la capacité signalée du lecteur en échange d'un pool de secteurs de rechange beaucoup plus important, vous devez le faire, en anticipant le remplacement de plusieurs de ces pièces de rechange pendant que vous testez le lecteur comme l'a suggéré @rackandboneman. . Il vaut bien mieux avoir un lecteur de 400 ou 450 Go avec tous les secteurs défectueux échangés contre des pièces de rechange et plus pour les défauts futurs, que d'épuiser le pool de rechange et d'avoir de futurs secteurs défectueux qui ne peuvent pas être remappés de manière transparente.

Monty Harder
la source
J'ai pu exécuter SeaTools pour DOS . SeaTools a signalé que SMART ne s'est pas déclenché, ce qui semblait inhabituel. Le test long et le test court ont échoué immédiatement. J'ai redimensionné le disque à 32 Go; puis exécuté à nouveau le long test. SeaTools a trouvé 4 LBA défectueux autour de la marque 1190000 et les a réparés. Une nouvelle installation du système d'exploitation s'est parfaitement déroulée; et les redémarrages ultérieurs n'ont eu aucun problème. Depuis que j'ai acheté le disque SATA II de remplacement, je le garderai comme disque de rechange si le disque existant se comporte mal.
@jww dommage que vous ayez déjà accepté une réponse différente.
Monty Harder
Oui, c'est le piège des questions et réponses ... Je dois poser des questions spécifiques pour obtenir une réponse précise. Si j'aurais demandé "comment installer Linux sur un disque dur défaillant", alors la question aurait probablement été fermée.
0

Quelques choses de base si vous ne disposez pas d'outils plus sophistiqués (par exemple, c'est un disque USB et SMART ne fonctionne pas):

dd if=/dev/sdX of=/dev/null bs=1M

va lire tout le disque. Vous verrez dans le dmesgjournal s'il y a des secteurs qui ne peuvent pas être lus. Bien qu'il ne vous dira pas s'il a réussi à les lire après de nouvelles tentatives. Ce n'est pas aussi bon que badblocksje le mentionne pour son omniprésence.

Si vous avez de mauvais secteurs et que vous ne voulez rien sur le disque:

dd if=/dev/zero of=/dev/sdX bs=1M

entraînera la réécriture de tous les blocs. S'il y a des secteurs qui ne sont pas lisibles, cela devrait les faire échanger avec des secteurs dans le pool réaffecté et redevenir utilisables.

Si vous avez un disque sur lequel une réallocation est en cours, le disque est en cours de sortie. Je ne l'utiliserais pas pour quelque chose d'important, mais parfois vous avez des données qui ne vous intéressent pas tant que ça et cela pourrait être OK pour cela.

S'il s'agit d'un SSD, les choses sont différentes et celles-ci ne s'appliquent pas.

user1908704
la source