GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich die Markierung eines NTFS-Clusters als fehlerhaft aufheben?

Ich werde die Titelfrage nicht weiter beantworten.

Beachten Sie zunächst, dass, wenn der Sektor wirklich schlecht ist, das Aufheben der Markierung ihn nicht lesbar macht. Daher wird Ihre Klonsoftware wahrscheinlich beim Lesen ersticken.

In NTFS wird ein Cluster als fehlerhaft gekennzeichnet, indem er einem speziellen Stream, $BadClus:$Bad, zugewiesen wird , eine Sparse-Datei.

Was Sie brauchen, ist

  • bearbeitet seine Runlist, um den/die entsprechenden zugewiesenen Block(s) zu entfernen
  • Markieren Sie die entsprechenden Cluster in $Bitmap als frei .
  • Um alle zu markieren schlechte Blöcke, da ist ntfsfix -b -d (-b =Bad-Block-Liste löschen, -d =clear/don't set "dirty" flag) (eine andere Methode mit ntfstruncate macht genau dasselbe).

    • Es könnte geringfügige Inkonsistenzen in die Metadaten einführen (in meinem Fall wurden anscheinend einige Indizes unsortiert), ich bin mir nicht sicher warum, also führe entweder chkdsk -f aus von Hand oder lassen Sie -d weg um es beim Windows-Start auszulösen, falls / falls Sie FS-Fehler erhalten.
  • Zum Löschen eines bestimmten block ist viel schwieriger, da ich keine vorhandene Software gefunden habe, die dies sofort tun kann. Auflösung von NTFS Bad Sectors:Die $BadClus-Metadatei - Katys Code beschreibt den Weg - im Grunde bearbeitet sie die Runlist und die Bitmap von Hand.

Nur weil der Umgang mit fehlerhaften Sektoren + NTFS + Klonen ein zu breites Thema ist. in direktem Zusammenhang beantworte ich gerne zur Sache.
überprüfte den Quellcode von ntfsfix v2015.3.14 .
für die Hartnäckigen, diese können es nicht:ntfscat (kann nicht lesbare Sektoren lesen),ntfscp (kann nicht in Offset schreiben), ntfstruncate ,ntfsfallocate ,dd (kann $BadClus:$Bad nicht öffnen zum Schreiben)


Ich hatte eine Festplatte, die einige schlechte Cluster entwickelte. Ich habe es durch ein bekanntermaßen funktionierendes Laufwerk ersetzt. Der Wiederherstellungsprozess hat die fehlerhaften Clusterdaten sowie die anderen Daten wiederhergestellt. Dies war auf einem Windows 7 Enterprise-Computer.

Meine Lösung bestand darin, "chkdsk d:/b" auszuführen (wie zuvor vorgeschlagen). Das /b weist es an (nur für NTFS), zuvor markierte fehlerhafte Cluster erneut zu scannen. Zumindest in meinem Fall (und ich würde alle Versionen vermuten, die /b unterstützen) wird die Liste der fehlerhaften Cluster unmittelbar vor Beginn des Lesescans gelöscht. Sobald Sie die Meldung „Removing X clusters from the Bad Clusters File“ sehen, sollten Sie in der Lage sein, den chkdsk-Prozess zu beenden (da er nur Daten liest).

Hinweis:Es besteht die Möglichkeit, dass chkdsk die fehlerhafte Clusterdatei in dem Moment aktualisiert, in dem Sie den Prozess beenden, wenn am Anfang des Laufwerks ein fehlerhafter Sektor gefunden wird. Ich bin das Risiko eingegangen und es hat die fehlerhafte Cluster-Datei erfolgreich zurückgesetzt, ohne dass eine Reihe anderer Programme heruntergeladen werden musste, die danach sowieso einen vollständigen chkdsk benötigen. YMMV.


Linux
  1. So stellen Sie Ihren ersten Pod in einem Kubernetes-Cluster bereit

  2. So richten Sie MySQL Cluster unter Ubuntu ein

  3. Linux-Clustering-Konzepte

  4. Tutorial zu Linux-Clustering (Hochverfügbarkeit)

  5. Wie schlimm ist es, die Bind-Adresse von MySQL auf 0.0.0.0 zu setzen?

So konfigurieren Sie einen Proxmox VE 4-Cluster mit mehreren Knoten

So erstellen Sie ein Backup eines Elasticsearch-Clusters

So mounten Sie eine NTFS-Festplatte unter Linux

So stellen Sie CouchDB als Cluster mit Docker bereit

So stellen Sie einen Dienst in einem Docker Swarm-Cluster bereit

So installieren Sie den Apache Cassandra-Cluster unter Linux