So beheben Sie die Festplatte Bad Sector

17

Ich habe versucht, meine Festplatte mit Ubuntu zu reparieren, aber ich habe eine Fehlermeldung erhalten und wusste nicht, wie ich vorgehen soll. Ich muss meine fehlerhaften Sektoren reparieren

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
quelle
1
Der Text, den Sie eingefügt haben, scheint nicht mit Ihrer Frage zu tun zu haben - können Sie das klären?
Thomasrutter

Antworten:

22

Ein fehlerhafter Sektor auf einem Laufwerk ist ein Zeichen für eine dauerhafte Beschädigung des Laufwerks. Wenn Sie nicht den Verdacht haben, dass Ihr Laufwerk diese Sektoren fälschlicherweise als fehlerhaft markiert hat, können Sie sie nicht "reparieren".

Dies bedeutet, dass ein Teil Ihres Laufwerks so beschädigt ist, dass es nicht mehr zuverlässig gelesen und / oder beschrieben werden kann.

Ihr System kann das Laufwerk weiterhin verwenden, indem Sie diesen Sektor als nicht verwendbar markieren. Sie können jedoch auch einen Laufwerkersatz in Betracht ziehen, da ein fehlerhafter Sektor ein Zeichen dafür sein kann, dass bald mehr Sektoren oder das gesamte Laufwerk ausfallen.

Es gibt zwar Möglichkeiten, das Laufwerk zu zwingen, die Markierung eines Sektors als fehlerhaft aufzuheben, sodass Sie ihn wieder verwenden können, dies ist jedoch wahrscheinlich keine gute Idee. Der Sektor mag gut bleiben, aber es wird genauso wahrscheinlich wieder schlecht. Einige Daten können verloren gehen oder beschädigt werden, je nachdem, wie es fehlschlägt.

Was nun die Fehlermeldung betrifft, die Sie in Ihre Frage eingefügt haben (wie ich dies schreibe), hat dieser Fehler nichts mit fehlerhaften Sektoren zu tun. Dies bedeutet, dass Sie keinen Zugriff auf das Laufwerk haben. Sein sudokann dir Zugang geben, also:

sudo fsck /dev/sdb

Dies ist jedoch wahrscheinlich immer noch nicht das, was Sie wollen, da sich / dev / sdb auf das gesamte Laufwerk bezieht, wohingegen fsckes für Dateisysteme ausgelegt ist , die normalerweise (aber nicht immer, und Sie haben hier möglicherweise eine Ausnahme) in Partitionen platziert sind . Wenn dies nicht funktioniert hat, möchten Sie dies möglicherweise stattdessen auf der ersten Partition dieses Laufwerks tun:

sudo fsck /dev/sdb1

Sie können eine Liste der Partitionen pro Laufwerk abrufen mit:

sudo fdisk -l
thomasrutter
quelle
7
Es ist wahrscheinlich nur ein schlechter Block. Es kann die Daten nicht lesen, ist alles. Nach dem erneuten Zuordnen des Blocks ist das Laufwerk wahrscheinlich noch drei Jahre funktionsfähig. So geht meine Erfahrung.
Zan Lynx
Eine Festplatte mit einem defekten Sektor versagt sehr viel häufiger als eine Festplatte, die noch nie einen defekten Sektor hatte. Auf wie vielen Laufwerken basiert Ihre Erfahrung? Ich würde es immer noch ein größeres Glücksspiel nennen.
Thomasrutter
Wahrscheinlicher? Sicher. Aber es ist nicht sofort zum Scheitern verurteilt. So viel hängt davon ab, warum dieser Block schlecht wurde. Wie ich bereits sagte, hatte ich Laufwerke, die im Laufe ihrer Lebensdauer langsam ein paar fehlerhafte Blöcke neu zuordnen und einfach weiterarbeiten.
Zan Lynx
it isn't immediately doomed- Sie haben keine Möglichkeit, das zu wissen oder zu garantieren. In einigen Fällen könnte es sein. So much depends on why that block went bad- Es wäre unmöglich, das Warum zuverlässig herauszufinden, ohne es zu öffnen und effektiv zu zerstören. Wie gesagt, es ist immer ein erhöhtes Risiko. Wenn Sie mit einem solchen Risiko absolut klar kommen, habe ich kein Problem damit. In den meisten Fällen, vielleicht sogar> 90% der Fälle, fällt das Laufwerk nicht schnell aus, nachdem ein fehlerhafter Sektor gefunden wurde, und in einigen Fällen kann es sogar noch Jahre dauern. Bewahren Sie gute Backups auf, und ein zukünftiger Ausfall schadet weniger.
Thomasrutter
1
Sagt "Datenträger ist gemountet" und macht nichts.
Dims
21

Kurz gesagt : Booten Sie ein Rettungssystem und verwenden Sie Badblocks :

badblocks -svn /dev/sda

um den Festplattencontroller zu veranlassen, fehlerhafte Blöcke durch Ersatzblöcke zu ersetzen.

Ich habe die gleiche Frage hier ausführlich beantwortet .

user228505
quelle
4
Sie möchten dies wahrscheinlich indirekt mit der -cOption fsck verwenden . AFAIK, das badblocksStandalone verwendet, wird niemals das Verhalten von irgendetwas ändern, sondern nur darüber berichten, wo die fehlerhaften Blöcke sind. Natürlich könnte die Laufwerksfirmware ihr Verhalten transparent ändern, wenn sie unter die Verwendungsmuster gestellt wird, die für charakteristisch sind badblocks, aber dies wäre sicherlich vom Laufwerk abhängig.
Amoe
1
Als neuer Benutzer müssen Sie sich zunächst einen "Ruf" verschaffen, bevor Sie bestimmte Aktivitäten auf dieser Website ausführen können. Es war also nicht möglich, dies zu duplizieren. Trotzdem hatte die Frage eine Antwort verdient. Da fehlerhafte Blöcke ein Problem der physischen Festplatte sind (Auschecken von SMART-Werten, das Dateisystem ist nicht direkt betroffen. Es kann zu Beschädigungen aufgrund von Datenverlust kommen. Daher ist es auch eine gute Idee, ein fsck durchzuführen. Wie lautete die ursprüngliche Frage? "Repair" Bad Blocks Dies war die Antwort.
User228505
@amoe die Dokumentation geht davon aus, dass sich das Verhalten ändern wird, hier: "Führen Sie sudo badblocks -n auf einem Gerätenamen aus, um es selbst auszuführen und Badblocks direkt in Ihrem Terminal zu melden. Sie können die Option -w verwenden, um einen Test im Schreibmodus durchzuführen. Verwenden Sie die Optionen -n und -w jedoch nicht zusammen, da sie sich gegenseitig ausschließen. Verwenden Sie auf keinen Fall die Option -w für ein Volume mit Daten, da dadurch alles bereinigt wird. Verwenden Sie das langsamere -n Option, da Ihre Daten in diesem Fall erhalten bleiben. Die Option -w ist in Ordnung für Volumes, deren Löschen Sie nicht stören. "
Webwoman
13

Früher mussten Sie sich vor dem Formatieren des Laufwerks die Badblocks notieren und diese in die Fehlerliste eintragen, da die Festplattenoberflächen nie "perfekt" waren. Der Hersteller hat dies aufgrund der Menschen begriffen Wenn Sie eine Diskette kaufen, sehen Sie sich die auf der Diskette aufgedruckte Fehlertabelle an und kaufen Sie die mit den geringsten Fehlern ...

Blättern Sie nun etwa 20 Jahre vorwärts, und die Festplattenhersteller verbergen die Tatsache, dass eine brandneue Festplatte fehlerhafte Blöcke mit der Firmware enthält. Wenn Sie eine brandneue Festplatte kaufen, die aller Wahrscheinlichkeit nach bereits fehlerhafte Blöcke enthält, erkennt die Firmware neu gewachsene fehlerhafte Blöcke und ordnet sie aus einem Satz von Ersatzzylindern zu, die sie haben. Dies geschieht jedoch nur, wenn in diesem Sektor eine Schreiboperation ausgeführt wird und der ECC-Algorithmus einen Bitfehler erkennt. Erst dann ordnet er die Blockausgabe zu. Kommen Sie also zu dem Punkt zurück, an dem Sie ein Laufwerk zwingen können, die Badblocks zuzuordnen, indem Sie einfach DD verwenden, dh / [Bearbeiten: Das folgende Beispiel wurde bearbeitet, um eine versehentliche Zerstörung des Laufwerks zu verhindern: entferntes Platzhalterzeichen, ersetzt durch X]

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

Ändern Sie das of = -Ziel offensichtlich so, dass es das Laufwerk widerspiegelt, das Sie auf Null setzen möchten. Dies ist der schnellste Weg, um Laufwerksdefekte neu zuzuordnen. Dies ist auch der schnellste Weg, um Ihr Linux-Setup vollständig zu verwerfen, indem Sie das Ziellaufwerk falsch machen dann nochmal prüfen, bevor du die enter-taste drückst. Sie können die Blockgröße im Befehl dd erhöhen, um Lese- / Schreibvorgänge zu optimieren und möglicherweise die Arbeit zu beschleunigen, aber nach einem bestimmten Punkt sind die Renditen geringer. Ich finde, dass alles zwischen 1M und 8M am besten für mich funktioniert

Sie können DD dazu bringen, nur einen Sektor zu schreiben, den schlechten ... um ihn neu zuzuordnen, damit Sie Ihr Laufwerk nicht sichern müssen, aber das ist ein ganz anderer Kessel mit Fisch und russischem Roulette, wenn Sie es nicht genau wissen was tust du .....

Dieser Befehl WIRD alles auf Ihrer Festplatte einschließlich Partitionen zerstören. Aber es wird das Laufwerk dazu zwingen, alle fehlerhaften Sektoren herauszufinden, die es möglicherweise hat.

Es ist vollkommen in Ordnung, dass eine Festplatte fehlerhafte Sektoren aufweist, solange sie nicht im Startsektor sind. Wenn dies der Fall ist, ist das Laufwerk unbrauchbar. Wenn Sie einige Monate später feststellen, dass auf Ihrem Laufwerk mehr fehlerhafte Sektoren aufgetreten sind, ist es an der Zeit um einen Ersatz zu kaufen.

Ich habe Hunderte solcher Laufwerke wiederbelebt und sie haben danach viele Jahre lang gelebt. Ein schlechter Sektor ist nicht unbedingt die Todesursache für das Laufwerk.

Derek Brabrook
quelle
Ich habe diese Methode schon einmal angewendet, wusste aber nie, warum sie funktioniert. Von einer Handvoll dauerten die meisten Laufwerke Jahre, nachdem sie wie vorgeschrieben abgewischt worden waren.
MER
Ack !! Für die Uneingeweihten BITTE NICHT KOPIEREN UND DIESE LINIE EINFÜGEN. Ihre Shell wird den Platzhalter "?" mit den tatsächlichen Gerätenamen in / dev. Wenn Sie vor dem Ersetzen des? Versehentlich die Eingabetaste drücken, können Sie möglicherweise das falsche Laufwerk löschen. Wenn Sie mehr als ein Gerät haben, kann dd einen Fehler auslösen, aber ich bin nicht bereit, dies auf meinem Computer zu testen.
TiberiusKirk