Comment réparer le secteur défectueux du disque dur

17

J'ai essayé de réparer mon disque dur à l'aide d'Ubuntu mais j'ai rencontré un message d'erreur et je ne savais pas comment procéder. J'ai besoin de réparer mes mauvais secteurs

fsck /dev/sdb  
fsck from util-linux 2.20.1  
e2fsck 1.42.5 (29-Jul-2012)  
fsck.ext2: Permission denied while trying to open /dev/sdb  
You must have r/w access to the filesystem or be root  
user122095
la source
1
Le texte que vous avez collé ne semble pas lié à votre question - pouvez-vous clarifier?
thomasrutter

Réponses:

22

Un secteur défectueux sur un lecteur est un signe de dommages permanents au lecteur. À moins que vous n'ayez des raisons de croire que votre lecteur a marqué ces secteurs comme étant incorrects, vous ne pouvez pas les "corriger".

Cela signifie qu'une partie de votre disque est endommagée au point qu'elle ne peut plus être lue et / ou écrite de manière fiable.

Votre système peut continuer à utiliser le lecteur en marquant ce secteur comme inutilisable, mais vous pouvez de toute façon envisager un remplacement de lecteur, car un secteur défectueux peut être le signe que plusieurs secteurs, ou le lecteur entier, peuvent échouer bientôt.

Bien qu'il puisse y avoir des moyens de forcer le lecteur à désélectionner un secteur comme mauvais, vous permettant de le réutiliser, ce n'est probablement pas une bonne idée. Le secteur peut rester bon, mais il est tout aussi probable qu'il redeviendra mauvais. Certaines données peuvent être perdues ou corrompues selon la façon dont elles échouent.

Maintenant, en ce qui concerne le message d'erreur que vous avez collé dans votre question (au moment où j'écris ceci), cette erreur n'a rien à voir avec de mauvais secteurs. Cela signifie que vous n'avez pas accès au lecteur. L'être sudopeut vous donner accès, donc:

sudo fsck /dev/sdb

Cependant, ce n'est probablement pas ce que vous voulez, car / dev / sdb fait référence à l'ensemble du lecteur, tandis qu'il fsckest conçu pour fonctionner sur des systèmes de fichiers , qui sont généralement (mais pas toujours, et vous pouvez avoir une exception ici) placés dans des partitions . Si ce qui précède ne fonctionnait pas, vous souhaitiez peut-être le faire sur la 1ère partition de ce lecteur:

sudo fsck /dev/sdb1

Vous pouvez obtenir une liste des partitions par lecteur avec:

sudo fdisk -l
thomasrutter
la source
7
C'est probablement juste un mauvais bloc. Il ne peut pas lire les données, c'est tout. Après avoir remappé le bloc, le lecteur est probablement bon pour trois autres années. Il en va de mon expérience.
Zan Lynx
Un disque dur avec un mauvais secteur est beaucoup, beaucoup plus susceptible de tomber en panne à tout moment que celui qui n'a jamais eu un mauvais secteur. Sur combien de disques votre expérience est-elle basée? Je dirais encore que c'est un plus gros pari.
thomasrutter
Plus probable? Sûr. Mais ce n'est pas immédiatement condamné. Tout dépend de la raison pour laquelle ce bloc a mal tourné. Comme je l'ai dit, j'ai eu des disques qui remappent lentement quelques blocs défectueux au cours de leur vie et continuent de fonctionner.
Zan Lynx, le
it isn't immediately doomed- vous n'avez aucun moyen de le savoir ou de le garantir. Dans certains cas, cela pourrait l'être. So much depends on why that block went bad- il serait impossible de découvrir de manière fiable le pourquoi, sans l'ouvrir et le détruire efficacement. Comme je l'ai dit, c'est toujours un risque accru. Si vous êtes absolument d'accord avec un tel risque, cela ne me pose aucun problème. La plupart du temps, peut-être même> 90% du temps, le lecteur ne tombera pas rapidement en panne après la détection d'un secteur défectueux et, dans certains cas, il pourrait même durer des années après. Gardez de bonnes sauvegardes et tout échec futur ne fera pas autant de mal.
thomasrutter
1
Dit "le disque est monté" et ne fait rien.
Dims
21

En bref : démarrez un système de sauvetage et utilisez des badblocks :

badblocks -svn /dev/sda

pour que le contrôleur de disque dur remplace les blocs défectueux par des blocs de rechange.

J'ai répondu en détail à la même question ici .

user228505
la source
4
Vous voudrez probablement l'utiliser indirectement avec l' -coption de fsck . L'AFAIK en mode badblocksautonome ne changera jamais le comportement de quoi que ce soit, il ne fera que signaler où se trouvent les mauvais blocs. Bien sûr, le micrologiciel du lecteur peut modifier son comportement de manière transparente lorsqu'il est soumis aux caractéristiques d'utilisation des caractéristiques de badblocks, mais cela dépendrait-il du lecteur?
amoe
1
En tant que nouvel utilisateur, vous devez d'abord gagner en «réputation» avant d'être autorisé à effectuer certaines activités sur ce site. Il n'était donc pas possible de reproduire cela. La question méritait toujours une réponse. Comme les blocs défectueux sont un problème du disque physique (vérifiez les valeurs SMART, le système de fichiers n'est pas directement affecté. Il pourrait subir une corruption en raison de la perte de données. Donc, faire un fsck est également une bonne idée. Comme la question d'origine était de savoir comment "réparer" les blocs défectueux, telle était la réponse.
user228505
@amoe la documentation suppose que le comportement changera, ici: "Exécutez sudo badblocks -n sur un nom de périphérique pour l'exécuter par lui-même et signaler les badblocks directement dans votre terminal. Vous pouvez utiliser l'option -w pour utiliser un test en mode écriture, mais n'utilisez pas les options -n et -w ensemble car elles s'excluent mutuellement. Vous ne devriez en aucun cas utiliser l'option -w sur un volume qui contient des données, car cela effacera tout propre. Utilisez le -n plus lent dans la mesure où elle conservera vos données. L'option -w convient parfaitement aux volumes que vous ne voulez pas effacer. "
Webwoman
13

Autrefois, vous deviez prendre note des blocs défectueux qui étaient écrits sur le lecteur et les saisir dans la liste des défauts avant de formater le lecteur, car les surfaces du disque dur n'étaient jamais "parfaites", le fabricant a fait preuve de prudence car les gens acheter des disques regarderait le tableau des défauts imprimé sur le disque et achèterait ceux avec le moins de défauts ...

Faites défiler maintenant environ 20 ans et les fabricants de disques durs cachent le fait qu'un nouveau disque contient des blocs défectueux avec le micrologiciel.Lorsque vous achetez un disque neuf, il aura probablement déjà des blocs défectueux, le micrologiciel détectera les blocs défectueux nouvellement développés et les mappe à partir d'un ensemble de cylindres de rechange dont il dispose, mais cela ne se produit que lorsqu'une opération d'écriture se produit sur ce secteur et que l'algorithme ECC détecte une défaillance de bit, alors seulement il mappera le bloc. Donc, pour en revenir au point, vous pouvez forcer un lecteur à cartographier les badblocks en utilisant simplement DD, c'est-à-dire / [modifier: l'exemple suivant a été modifié pour éviter la destruction accidentelle du lecteur: caractère générique supprimé, remplacé par X]

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

Modifiez évidemment la cible of = pour refléter le lecteur que vous voulez mettre à zéro, c'est le moyen le plus rapide de re-mapper les défauts d'un lecteur, c'est aussi le moyen le plus rapide de supprimer complètement votre configuration Linux en se trompant le lecteur cible, alors vérifiez, revérifiez puis vérifiez à nouveau, avant d'appuyer sur la touche Entrée. Vous pouvez augmenter la taille de la taille de bloc dans la commande dd pour optimiser la lecture / écriture et peut-être accélérer les choses, mais les rendements diminuent après un point. Je trouve que quelque chose entre 1M et 8M me convient le mieux

Vous pouvez demander à DD d'écrire un seul secteur, le mauvais ... pour le remapper, vous n'avez donc pas à sauvegarder votre lecteur, mais c'est une toute autre marmite de poisson et de roulette russe si vous ne savez pas exactement que fais tu .....

Cette commande détruira tout sur votre disque dur, y compris toutes les partitions. Mais cela forcera le lecteur à cartographier tous les mauvais secteurs qu'il pourrait avoir.

Il est parfaitement correct qu'un disque ait des secteurs défectueux tant qu'ils ne sont pas sur le secteur de démarrage, s'ils le sont, alors le lecteur est inutile, si vous remarquez quelques mois plus tard que votre lecteur a développé plus de secteurs défectueux, il est temps pour commencer à magasiner pour un remplacement.

J'ai relancé des centaines de disques comme celui-ci et ils ont survécu pendant de nombreuses années après, un mauvais secteur n'est pas nécessairement le glas du lecteur.

Derek Brabrook
la source
J'ai déjà utilisé cette méthode mais je n'ai jamais su pourquoi elle fonctionnait. Sur une poignée, la plupart des lecteurs ont duré des années après avoir essuyé le lecteur peu profondément comme prescrit.
MER
Ack !! Pour les non-initiés, VEUILLEZ NE PAS COPIER ET COLLER CETTE LIGNE. Votre shell étendra le caractère générique "?" avec les noms de périphériques réels dans / dev. Si vous appuyez accidentellement sur Entrée avant de remplacer le?, Vous pouvez éventuellement effacer le mauvais lecteur. Si vous avez plus d'un appareil, dd peut générer une erreur, mais je ne souhaite pas le tester sur ma machine.
TiberiusKirk