Wie hebe ich die Markierung von Clustern als fehlerhaft in NTFS auf?
Hintergrund
Ich bin aus Versehen gerannt
>chkdsk /R
auf meiner SSD, wo
/ R : Findet fehlerhafte Sektoren und stellt lesbare Informationen wieder her (impliziert / F)
/ F : Behebt Fehler auf der Festplatte
Und jetzt habe ich einen Cluster auf meinem Laufwerk als schlecht markiert. Ich muss die Markierung dieses Clusters aufheben.
Hinweis : Es chkdsk
besteht die Möglichkeit, einen Cluster erneut zu bewerten und für die Verwendung zurückzugeben:
/ B : Nur NTFS: Wertet fehlerhafte Cluster auf dem Volume neu aus (impliziert / R)
Leider hebt diese Option die Markierung des Clusters nur auf, wenn es nicht mehr fehlerhaft ist. Ich möchte, dass der Cluster trotzdem nicht markiert ist.
Wie hebe ich die Markierung eines NTFS-Clusters als fehlerhaft auf?
Warum tust du das?
Es ist egal, warum ich und Hunderte von anderen die Frage stellen. Das Problem ist jedoch, dass sich auf meiner Festplatte ein fehlerhafter Sektor befindet. Es ist Zeit, das Laufwerk durch ein neues zu ersetzen. Dazu spiegeln Sie die SSD mithilfe der Windows-Software- Spiegelung auf eine andere SSD .
Leider verhindert ein bekannter Fehler in der Windows NTFS-Spiegelung, dass die Spiegelung abgeschlossen wird, wie in KB325615 dokumentiert :
Software Mirror kann nicht erstellt werden, wenn die Festplatte fehlerhafte Blöcke enthält
DMIO arbeitet unterhalb des Dateisystems und bricht den Spiegelungsvorgang ab, wenn E / A-Fehler beim Lesen von einem Sektor auf der Quellfestplatte oder beim Versuch, die Daten auf die Zielfestplatte zu schreiben, festgestellt werden.
Die offensichtliche Problemumgehung bestand darin, das Betriebssystemvolumen zu verkleinern , sodass der fehlerhafte Sektor über das Ende des Volumens hinausgeht. Wenn Sie in Windows 7 versuchen, ein Volume zu verkleinern , werden die Dateien automatisch aus dem Weg geräumt.
Das ist eine gute Sache. Wenn Sie in früheren Zeiten ein Volume verkleinern wollten, mussten Sie ein Defragmentierungsprogramm verwenden, mit dem alle Dateien zur Vorderseite des Laufwerks verschoben wurden. am ende lücken lassen.
Leider gibt es jetzt eine nicht verschiebbare Datei im Weg: $BadClus
. Beim Defragmentierungsvorgang wird die nicht verschiebbare Datei im Ereignisprotokoll notiert:
Unter Volume OS (C :) wurde eine Volumenschrumpfungsanalyse gestartet. Dieser Ereignisprotokolleintrag enthält Informationen zu der letzten nicht verschiebbaren Datei, die die maximale Anzahl der zurückfordernden Bytes begrenzen kann.
Diagnosedetails:
- Die letzte nicht verschiebbare Datei scheint zu sein: \ $ BadClus: $ Bad: $ DATA
- Der letzte Cluster der Datei lautet: 0xdc1ded
- Potentielles Ziel (LCN-Adresse) verkleinern: 0xa91bd9
- Die NTFS-Dateiflaggen lauten: -S - D
- Schrumpfphase: <Analyse>
So:
- Ich kann die Lautstärke nicht spiegeln, bis die fehlerhaften Sektoren entfernt sind
- Durch Verringern der Lautstärke werden die fehlerhaften Sektoren entfernt
- Ich kann das Volumen nicht verkleinern, bis die Sparse-
$BadClus
Datei verschoben wird - Ich kann mich nicht bewegen,
$BadClus
während es physisch schlechte Cluster besetzt $BadClus
wird fehlerhafte Cluster physisch belegen, während NTFS den Cluster für fehlerhaft hält
Wie hebe ich die Markierung eines Clusters als fehlerhaft auf?
Auch für Ghosting-Laufwerke
Die Lösung für mein Problem würde auch für den häufigsten Fall funktionieren:
Jemand macht ein Laufwerk mit fehlerhaften Sektoren zu einem neuen Laufwerk, und auf dem guten Laufwerk werden diese Cluster immer noch als fehlerhaft markiert, obwohl sie gut sind. Es kommt also vor, dass ihnen eine Problemumgehung zur Verfügung steht:
>chkdsk /B
Nur dass das in meinem Fall nicht funktioniert. (Und selbst wenn es in meinem Fall funktioniert hat, ist es nicht die Frage, die ich stelle.)
Bonus Chatter
Natürlich unterhält die Kingson SSD keine Ersatzsektoren. Wenn dies der Fall wäre, könnte der Ersatzsektor für mich transparent neu zugeordnet werden, und NTFS würde nicht versuchen, Gedanken zu überdenken.
SpinRite
Ich habe versucht, das SS-Laufwerk zu schleudern. Es stößt auf den fehlerhaften Sektor, kann jedoch keine Werte vom Laufwerk abrufen:
══════════════════╤═══════════════════════════╤═════════════════════════════════
cylinder : 7,183 │ data samples : 1,999 │ first uncertain bit : · · · · ·
sector : 17 │ unique samples : 0 │ last uncertain bit : · · · · ·
head : 187 │ discarded sples : 0 │ uncertain bit span : · · · · ·
Die Anzahl der Datenstichproben beträgt bis zu 2.000, wechselt dann wieder auf Null und wird fortgesetzt.
Nach ungefähr 20 Loops (dh 40.000 Datenabtastungen) gab ich auf.
Klonen
Nochmal; Lassen Sie uns die Frage nicht mit dem Beispiel verwechseln. Die Frage ist, wie Sie die Markierung von Clustern in NTFS aufheben können. Lange nachdem ich aufgegeben und die SSD weggeworfen habe, bleibt die Frage immer noch. Verwechsle mein Problem nicht mit der Frage. Das bedeutet nicht, dass ich versuchen könnte, mein Problem tatsächlich zu lösen:
DriveImageXML erreicht den fehlerhaften Sektor und bricht ab.
GParted kann nicht geladen werden. Ein grafischer Startbildschirm wird angezeigt, und in einem Konsolenfenster wird der Text gescrollt, gefolgt von einem schwarzen Bildschirm ohne Inhalt
Clonezilla weigert sich, meine SSD zu klonen:
Dieser Datenträger enthält eine nicht übereinstimmende GPT- und MGR-Partition: / dev / sdb Dies
führt zu Verwirrung bei Clonezill und kann dazu führen, dass das gespeicherte Image unbrauchbar wird oder der Datenträger nicht geklont werden kann.Bitte beheben Sie dieses Problem und starten Sie Clonezilla erneut.
Programm abgebrochen.
Wie hebe ich die Markierung eines Clusters als fehlerhaft in NTFS auf?
CreateFile
dem direkten Öffnen des Volumes zu beschäftigen. Aber mir wurde klar, dass ich bei Null anfangen und alle undokumentierten Datenstrukturen analysieren müsste. Ich öffnete das Volume direkt für die Bearbeitung in meinem bevorzugten Hex-Editor , hatte aber den gleichen Nachteil, da ich Hex-Strukturen manuell analysieren musste.Antworten:
Ich werde auf die Titelfrage nichts mehr antworten. 1
Beachten Sie zunächst, dass der Sektor nicht lesbar ist, wenn er wirklich schlecht ist, wenn die Markierung aufgehoben wird. Daher wird Ihre Klon-Software wahrscheinlich ersticken, wenn Sie sie stattdessen lesen.
In NTFS wird ein Cluster als fehlerhaft markiert, indem er einem speziellen Stream
$BadClus:$Bad
, einer Sparse-Datei, zugewiesen wird.Was Sie brauchen, ist zu
$Bitmap
.Um alle fehlerhaften Blöcke zu entfernen , gibt es
ntfsfix -b -d
(-b
= Liste fehlerhafter Blöcke löschen,-d
= Flag "Dirty" löschen / nicht setzen) (eine andere Methodentfstruncate
macht genau dasselbe 2 ).chkdsk -f
aus oder lassen Sie-d
es beim Start von Windows aus, wenn / falls FS-Fehler auftreten.Das Löschen eines bestimmten Blocks ist viel schwieriger, da ich keine vorhandene Software gefunden habe, die dies ohne weiteres ausführen kann . 3 . NTFS Bad Sectors Resolution: Die $ BadClus-Metadatei - Katys Code beschreibt den Weg - im Grunde geht es darum, die Runlist und die Bitmap von Hand zu bearbeiten.
1 Nur weil der Umgang mit fehlerhaften Sektoren + NTFS + Klonen ein zu weites Thema ist. Ich beantworte gerne diejenigen, die in direktem Zusammenhang mit der Sache stehen.
2 überprüfte den Quellcode von
ntfsfix
v2015.3.14
.3 für die eindringlich diejenigen, diese können sie nicht tun:
ntfscat
(nicht unlesbare Sektoren lesen kann),ntfscp
(kann nicht versetzt schreiben)ntfstruncate
,ntfsfallocate
,dd
(kann nicht geöffnet werden$BadClus:$Bad
zum Schreiben)quelle
Ich hatte eine Festplatte, auf der sich einige fehlerhafte Cluster gebildet haben. Ich habe es durch ein bekanntermaßen gutes Laufwerk ersetzt. Der Wiederherstellungsprozess stellte die fehlerhaften Clusterdaten sowie die anderen Daten wieder her. Dies war auf einem Windows 7 Enterprise-Computer.
Meine Lösung bestand darin, "chkdsk d: / b" auszuführen (wie bereits 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 vermuten, dass alle Versionen / b unterstützen) wird die Liste der fehlerhaften Cluster unmittelbar vor Beginn des Lesescans gelöscht. Sobald die Meldung "Entfernen von X-Clustern aus der Datei für fehlerhafte Cluster" angezeigt wird, sollten Sie in der Lage sein, den chkdsk-Prozess abzubrechen (da nur Daten gelesen werden).
Hinweis: Es besteht die Möglichkeit, dass chkdsk die fehlerhafte Cluster-Datei zum Zeitpunkt des Abbruchs aktualisiert, wenn am Anfang des Laufwerks ein fehlerhafter Sektor gefunden wurde. Ich bin das Risiko eingegangen und habe die fehlerhafte Cluster-Datei erfolgreich zurückgesetzt, ohne dass einige andere Programme heruntergeladen werden mussten, für die danach ohnehin eine vollständige chkdsk erforderlich ist. YMMV.
quelle
cmd
Fenster. Führen Siechkdsk d: /f
dannCHKDSK discovered free space marked as allocated in the volume bitmap.
Folgendes ausWindows has made corrections to the file system.
.Zunächst ist es am besten, das Laufwerk zu klonen. Dann
chkdsk /B
auf dem neuen Arbeitslaufwerk verwenden.Nun zum Aufheben der Markierung eines wirklich schlechten Sektors, der schwierig ist. Du könntest benutzen:
mhdd
(Remap einschalten)Jedes Produkt sollte den fehlerhaften Sektor neu zuordnen, dann sollte CHKDSK / B die Markierung aufheben.
Laden Sie gparted oder partedmagic ISO herunter . Booten Sie von dort und verkleinern Sie die Partition.
Dies wird funktionieren , da Windows nicht ausgeführt wird, so ist diese Software die Partition verkleinern , egal was passiert. Dann
chkdsk /B
erledigen wir den Rest.Wenn all dies fehlschlägt, stoßen Sie jetzt auf eine hässliche Straße der Schmerzen. Sie müssen einen Sektoreditor besorgen und das Dateisystem manuell bearbeiten. Leider liegt es außerhalb meines Wissens für NTFS. Für FAT oder FAT32 ist es super einfach.
quelle
Pending Sector Count
von Null und eineReallocated Sector Count
von Null.Da Sie versuchen, Ihre Festplatte zu spiegeln (und anscheinend Windows 7 verwenden), gibt es einen anderen Ansatz:
Verwenden Sie das integrierte Tool, um ein Backup zu erstellen, das auf einer guten Festplatte wiederhergestellt werden soll. Gehen Sie zu Systemsteuerung, System und Sicherheit, Sicherung. Erstellen Sie dort ein System-Image und eine Systemreparaturdiskette.
Danach können Sie die alte fehlerhafte Festplatte durch eine gute ersetzen und dann das System mithilfe der Systemreparaturdiskette und der erstellten Sicherung in den Status zurückversetzen.
quelle
Das Paket gddrescue (gddrescue - GNU-Datenrettungstool) sollte den Job für Sie erledigen.
Besorgen Sie sich eine Debian-basierte Standalone-Distribution (CD oder USB-Stick) und installieren Sie gddrescue mit "sudo apt-get install gddrescue". Klonen Sie dann die SSd, indem Sie ein Terminalfenster öffnen und Folgendes ausführen:
ddrescue -f / dev / sda / dev / sdb ./ddrescue.log
(wobei / dev / sda die Quelle und / dev / sdb die Ziel-SSD ist)
ddrescue versucht, den fehlerhaften Block wiederherzustellen, und überspringt ihn, falls dies nicht möglich ist.
Wenn Sie fertig sind, sollte chkdsk / f / b den Job abschließen.
quelle
Es sieht so aus, als ob Ihr Ziel darin besteht, die Größe der Partition zu verkleinern, und Windows wird sie aufgrund der $ BadClus-Datei, die aufgrund fehlerhafter Cluster vorhanden ist, nicht verkleinern.
Ich habe eine alternative Lösung für Sie, die das Laufwerk verkleinern sollte, ohne direkt mit der $ BadClus-Datei umgehen zu müssen. Verwenden Sie den Partitions-Assistenten, um die Partition zu verkleinern. Der Partition Wizard ist einfach zu bedienen, für den nichtkommerziellen Gebrauch kostenlos, kann in Windows mit einer grafischen Benutzeroberfläche oder von einer CD oder einem USB-Boot ausgeführt werden, auf dem ein kleines Linux ausgeführt wird. Anschließend erhalten Sie dieselbe grafische Benutzeroberfläche. Dieses Programm kann auch gelöschte Partitionen wiederherstellen und zwischen MBR- und GPT-Partitionstabellen konvertieren.
Ich habe Probleme damit, dass Windows eine Partition nicht über einen bestimmten Punkt hinaus verkleinert. Dann werde ich den Partitions-Assistenten auf derselben Partition ausführen, was problemlos funktioniert. Ich nehme an, der Partitionsassistent ist bereit, die $ BadClus-Datei zu ignorieren. Ich benutze dieses Programm seit über 8 Jahren und habe mir schließlich die Pro-Version gekauft, weil sie es verdient hat. Ich fand dieses Programm als Ersatz für PQMagic, das ich 1996 gekauft hatte. Es war ein fantastisches DOS-Partitionierungsprogramm für kleinere Laufwerke.
quelle