Überprüfen Sie vor der Installation aggressiv eine Festplatte

12

Ich habe eine alte HP Athlon-Maschine, die ich zum Testen von Software unter dem alten Prozessor verwende. Wir haben häufige Brown Outs und nach dem letzten war die Scheibe ein Durcheinander. Es war so schlimm, dass ich nicht fsckalle Probleme lösen konnte. Ich habe eine Neuinstallation des Betriebssystems durchgeführt, erhalte jedoch weiterhin fsckBeschwerden.

Ich möchte ein letztes Mal versuchen, Linux neu zu laden, bevor ich die Festplatte oder den Computer verurteile. Nachdem das Dateisystem erstellt wurde, aber bevor die Installation stattfindet, möchte ich, dass ein Angreifer fsckausgeführt wird, um verdächtige Blöcke als fehlerhaft zu markieren.

Die Festplatte ist groß (ungefähr 500 GB) und eine Debian 8-Distribution ist relativ klein (8-12 GB sind normalerweise mehr als genug), daher ist es mir egal, ob gute Blöcke als schlecht markiert werden. Ich mag auch die GUI-Installation, aber ich bin nicht damit verheiratet.

Ich habe zwei Fragen:

  1. Bietet Debian 8 die Möglichkeit, fsckvor der Installation des Basissystems eine auszuführen? Wenn ja, wo ist es? Wenn nicht, wie läuft das ab?

  2. Hat fsckeine Einstellung zu steuern, wie aggressiv Blöcke als schlecht markiert werden? Wenn ja, was ist das? Wenn nicht, was kann dann verwendet werden?


BEARBEITEN : Die Maschine ist ein HP5850. Durch Aufrufen des BIOS, Navigieren zu Speicher und anschließend zum Selbsttest des Laufwerkschutzsystems (DPS) empfahl DPS, das Laufwerk auszutauschen. DPS hat keine Statistiken zur Verfügung gestellt, daher bin ich mir nicht sicher, wie groß der Schaden ist.

In Anbetracht dessen, dass ich ein [altes] neues SATA II-Laufwerk für 12 USD kaufen kann, werde ich es nur ersetzen. Es macht keinen Sinn, Zeit oder Energie zu verschwenden.


Die zugehörigen Referenzen lauten wie folgt. Keine der beiden Fragen scheint beantwortet zu sein.


quelle
Warum nicht SpinRite ?
Peter Mortensen
Wenn Sie überhaupt fehlerhafte Blöcke haben, ist das gesamte Laufwerk physisch fehlerhaft und sollte nicht verwendet werden.
chrylis -on strike-
2
"Aggressiv fsck eine Festplatte" sieht so schmutzig aus ...
A. Mirabeau

Antworten:

19
  1. "Bietet Debian 8 die Möglichkeit, vor der Installation des Basissystems ein fsck durchzuführen? Wenn ja, wo ist es? Wenn nicht, was ist dann der Prozess?"

    Alternativ können Sie zuerst eine GPartEd-CD herunterladen und brennen (oder auf ein USB-Stick schreiben). Bevor Sie das Installationsprogramm GPartEdausführen , starten und partitionieren Sie die Festplatte nach Ihren Wünschen und führen Sie sie aus fsckoder führen Sie sie nur badblocksausführlich aus.

    Wenn Sie das Debian-Installationsprogramm ausführen, teilen Sie ihm einfach mit, wie die vorhandenen Partitionen verwendet werden sollen. Das Installationsprogramm muss keine eigenen Partitionen erstellen. Es ist vollkommen glücklich, vorhandene Partitionen zu verwenden.

  2. "Verfügt fsck über eine Einstellung, mit der gesteuert werden kann, wie aggressiv Blöcke als fehlerhaft markiert werden? Wenn ja, was ist das? Wenn nicht, was kann verwendet werden?"

    Die -cOption, e2fsckdie das badblocksProgramm veranlasst, nach fehlerhaften Blöcken zu suchen. Sie können Badblocks auch direkt ausführen. Führt standardmäßig badblockseinen Nur-Lese-Test durch. Um aggressiver zu sein, können Sie -neinen zerstörungsfreien Lese- / Schreibtest festlegen . Sie können auch die -pOption festlegen , die Anzahl der durchgeführten Durchgänge zu erhöhen.

    Möglicherweise möchten Sie ausführen, badblocksbevor Sie partitionieren. Auf diese Weise können Sie den schnelleren -wNur-Schreib-Test angeben .

John1024
quelle
1
John, +1, ist nur neugierig, ob es badblockseine Methode zum Markieren auf Hardwareebene oder nur auf FS-Ebene gibt?
Heemayl
3
@heemayl Ich verstehe, dass die Firmware der Festplatte auf modernen Festplatten versucht, die gesamte fehlerhafte Blockverwaltung selbst durchzuführen. Der Zweck der Ausführung badblocksbesteht lediglich darin, die Festplatte zum Lesen / Schreiben aller Sektoren zu zwingen. Die Festplatte erkennt fehlerhafte Sektoren selbst und ordnet sie neu zu. Wenn alles so funktioniert, wie es sollte, wird das badblocksProgramm nie darüber informiert, dass die Festplatte dies tut.
John1024
hmmm..verständlich. Also im Wesentlichen kann fsck Blöcke auf FS markieren, aber Badblocks helfen nur der Festplattenfirmware, die Markierung durchzuführen, macht das nichts für sich?
Heemayl
3
@heemayl In alten Zeiten badblockswürde eine Liste der fehlerhaften Sektoren ausgespuckt und das Dateisystem würde sie notieren. In der heutigen Zeit, badblocks und die FS immer noch versuchen, dies zu tun, aber mit einer modernen HD ist die Liste in der Regel leer.
John1024
1
@heemayl, und wenn die Liste nicht leer ist, ist die Festplatte normalerweise so kaputt, dass Sie sie am besten ersetzen können.
Mark
7

Wenn Sie so oft fsck-Fehler bekommen, kann das Laufwerk auch Blut abhusten. Selbst wenn Sie jeden einzelnen fehlerhaften Block als fehlerhaft markieren, dauert es nicht lange, bis weitere Blöcke fehlerhaft werden. Ich würde mir vorstellen, dass Sie in ein anderes tty wechseln könnten, um ein fsck zu machen, wenn Sie wirklich brauchen (Strg + Alt + F2, um zu tty2 zu wechseln), aber ich kann nicht genug betonen, wie sehr Sie eine neue Festplatte brauchen, wenn Sie das sagen ist genau.

John Leuenhagen
quelle
"Wenn Sie so oft fsck-Fehler bekommen ..." - was ich nicht sicher bin, ist, sind die wenigen fsckProbleme nach der Neuinstallation das Ausmaß des Problems, oder ist es die Spitze des Eisbergs. Das System wird gestartet, es treten einige Dateisystemfehler auf (4 oder 6), es wird wiederhergestellt, indem es als schreibgeschützt erneut bereitgestellt wird, und es wird dann gestartet.
@jww kannst du bitte einige exakte Beispiele für die genannten Dateisystemfehler posten?
John Leuenhagen
Warum zu einem anderen tty wechseln? Welchen Vorteil bietet dies?
fpmurphy
@ fpmurphy1 Es hörte sich an, als könne er kein Terminalfenster öffnen. Ein Wechsel zu einem anderen tty wäre der nächstbeste Weg, um in eine Shell zu gelangen.
John Leuenhagen
@jww: Werden jedes Mal die gleichen Blöcke gemeldet, oder wird bei jedem Start ein neuer Satz gemeldet?
TMN
5
  1. Nein, und ich denke nicht, dass es sich lohnt. Fsck (wie von den meisten Dateisystemen implementiert) überprüft Ihre Laufwerke nicht. Es überprüft die Metadaten des Dateisystems und stellt sicher, dass die Ansicht beim Mounten konsistent ist. Es macht nicht viel Sinn, dies vor der Installation zu tun, da Sie per Definition nur leeren Speicherplatz haben.

  2. Verwenden Sie stattdessen Badblocks . Wenn Sie sicherstellen möchten, dass Ihre Daten nicht verrotten, verwenden Sie ein Dateisystem, das Scrubbing unterstützt. Lvm selbst kann das auch .

viraptor
quelle
3

Um die Zuverlässigkeit einer modernen Festplatte zu überprüfen, sollten Sie die integrierten Tests verwenden. Sie können sie mit dem Dienstprogramm smartctl auslösen, z.

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

Wenn Sie sich vorher vergewissern möchten, dass in letzter Zeit alles beschrieben wurde, können Sie das gesamte Medium mit einer dd aus / dev / urandom überschreiben oder mit einer der Randomisierungsfunktionen zerkleinern, um Bereiche zu ermitteln, in denen das Schreiben nicht ordnungsgemäß funktioniert Optionen.

Rackandboneman
quelle
3
Beachten Sie, dass ein ddvon /dev/randomauf einer 500 GB Festplatte viele Tage in Anspruch nehmen.
Dmitry Grigoryev
1
fester Tippfehler, thx :) Ich wollte die exakte dd-Syntax nicht buchstabieren, da ich vermeiden wollte, dass Befehlszeilen, die versehentlich in eine Shell eingefügt werden, einen wirklich unwiederbringlichen Datenverlust verursachen.
Rackandboneman
Leider ist Debian nicht zu bieten scheinen smartctl: E: Unable to locate package smartctl. Ist es ein Red Hat / Fedora-Dienstprogramm?
Das Debian / Ubuntu-Paket ist smartmontools. Verwenden Sie übrigens die Suche mit apt-cache, um zu suchen, welches Paket etwas enthält.
Rackandboneman
2

Ich würde empfehlen, die Low-Level-Format-Software des Herstellers (falls vorhanden) zu verwenden, die möglicherweise nur unter Windows ausgeführt wird (oder wenn Sie Glück haben, von einer bootfähigen CD / DVD / USB, für die Sie ein Image von der Website des Herstellers herunterladen möchten). . Wenn Sie genügend Kontrolle über den Vorgang haben, um die gemeldete Kapazität des Laufwerks im Austausch gegen einen viel größeren Ersatzsektorpool zu reduzieren, sollten Sie dies tun, um zu erwarten, dass viele dieser Ersatzteile ausgetauscht werden, während Sie das Laufwerk testen, wie von @rackandboneman vorgeschlagen . Es ist weitaus besser, ein Laufwerk mit 400 oder 450 GB zu haben, bei dem alle fehlerhaften Sektoren gegen Ersatzteile und mehr für zukünftige Fehler ausgetauscht werden, als den Reservepool zu erschöpfen und zukünftige fehlerhafte Sektoren zu haben, die nicht transparent neu zugeordnet werden können.

Monty Harder
quelle
Ich konnte SeaTools für DOS ausführen . SeaTools berichtete, dass SMART nicht ausgelöst hat, was ungewöhnlich schien. Der lange Test und der kurze Test schlugen sofort fehl. Ich habe die Festplatte auf 32 GB verkleinert. und dann lief der lange test nochmal. SeaTools hat rund um die 1190000-Marke 4 fehlerhafte LBAs gefunden und repariert. Eine Neuinstallation des Betriebssystems verlief einwandfrei. und nachfolgende Neustarts hatten keine Probleme. Da ich das SATA II-Ersatzlaufwerk gekauft habe, behalte ich es als Ersatzlaufwerk, wenn sich das vorhandene Laufwerk nicht richtig verhält.
@jww schade, dass du schon eine andere antwort angenommen hast.
Monty Harder
Ja, es ist die Q & A-Falle ... Ich muss spezifische Fragen stellen, um eine präzise Antwort zu erhalten. Wenn ich gefragt hätte: "Wie installiere ich Linux auf einer fehlerhaften Festplatte?", Wäre die Frage wahrscheinlich geschlossen worden.
0

Einige grundlegende Dinge, wenn Sie keine schickeren Tools zur Verfügung haben (z. B. ein USB-Stick und SMART funktioniert nicht):

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

liest die gesamte CD. Sie werden im dmesgProtokoll sehen, ob es Sektoren gibt, die nicht gelesen werden konnten. Es wird Ihnen jedoch nicht sagen, ob es nach erneuten Versuchen gelungen ist, sie zu lesen. Es ist nicht so gut wie, badblocksaber ich erwähne es wegen seiner Allgegenwart.

Wenn Sie fehlerhafte Sektoren haben und nichts auf der CD haben möchten:

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

bewirkt, dass alle Blöcke neu geschrieben werden. Wenn es Sektoren gibt, die nicht lesbar sind, sollte dies dazu führen, dass sie mit Sektoren im neu zugewiesenen Pool ausgetauscht werden und wieder verwendbar werden.

Wenn Sie eine Disc haben, bei der eine Neuzuweisung stattfindet, befindet sich die Disc auf dem Weg nach draußen. Ich würde es für nichts Wichtiges verwenden, aber manchmal haben Sie Daten, die Ihnen nicht so wichtig sind, und vielleicht ist es dafür in Ordnung.

Wenn es sich um eine SSD handelt, sind die Dinge anders und diese gelten nicht.

user1908704
quelle