Nach meinem Wissenstand schauts folgendermassen aus: Sowohl bei FAT(12/16/32) als auch bei NTFS haben die BadCluster-Tabellen (bzw entsprechende Konstruktionen) KEINEN UNBEDINGTEN Zusammenhang mit der Hardware.
Und das kommt so: Das OS möchte gerade etwas auf der HDD machen, egal ob R oder W, doch genau in diesem Augenblick schmiert dir die Kiste ab, hat Schluckauf oder irgendeinen sonstigen Timing-Fehler. Weil es der Teufel so will, kommen auch die nachmaligen R/W-Versuche (auf den selben Cluster, das OS versucht es ggf mehrere Male) nicht zum erfolgreichen Abschluss.
Somit gilt dieser Cluster für das OS als nicht verwendbar und wird als solcher gekennzeichnet.
Wenn nun irgendein File diesen noch als Bestandteil enthält (in der Clusterchain, weil es halt durch einen Softwarefehler zum Korrigieren vergessen wurde), dann erscheint der dir bekannte Fehler.
Nun der Konnex zur Hardware: Oben war stets die Rede von CLUSTERN. Direkt auf bzw in der HDD jedoch, sprechen wir von SEKTOREN, als kleinste addressierbare Einheit eines Plattencontrollers (gilt für IDE, SATA, SCSI usw), aus historischen Gründen ist ein Sektor 512 Byte gross. Den User kümmert das aber nicht, da dies transparent in Cluster umgerechnet wird, ein Cluster fasst dabei mehrere bis viele Sektoren.
In der Anfangszeit der HDD-Controller waren die darauf verwendeten Mikrocontroller schon vollends damit ausgelastet, eine interne Umrechnung der LBA-Sektoren in die reale physikalische CHS-Adressierung vorzunehmen (von anderen Aufgaben abgesehen und ausserdem auch zu ungenau dargestellt).
D.h. wenn tatsächlich ein Sektor als unlesbar erkannt wurde, dann war er das auch und so wurden diese alten HDDs tatsächlich mit einer am Gehäuse befindlichen, ggf handgeschriebenen BadSector-Tabelle ausgeliefert.
Mit der Zeit wurden die Controller leistungsfähiger und auch die Plattenadressierung wurde nun völlig transparent, d.h. egal ob mit CHS oder LBA befeuert, es gab für das OS keinerlei Möglichkeit mehr, eine physikalische Zuordnung zur realen Plattenposition vorzunehmen. Das gilt bis heute, der Controller bestimmt selbst, wo der Sektor xy sich tatsächlich befindet und daher funktioniert auch das Konzept mit den Spare Sectors. Dabei wird auf irgendeiner Spur der HDD, meist die lahmste ganz innen, ein Bereich freigehalten, d.h. der zählt nicht zur "formatierten Kapazität" und wenn irgendwo mittig ein Sektor vom Controller als unlesbar erkannt wird, kommt einer der Spares zum Einsatz.
Doch die Aussenwelt wird NIEMALS erfahren, wo sich der tatsächliche physikalische Schaden befindet. Ich glaub in den SMART-Parametern gibt es einen der zumindest als Zählerstand angibt, wieviele Spares schon verwendet wurden, jedoch nicht wieviele Spares es noch gibt.
Fazit: Weisst eine HDD bei einem Testlauf mit dem passenden Herstellertool tatsächlich einmal unlesbare Bereiche auf, dann sollte diese HDD umgehenst geklont und danach nicht mehr im Produktionssystem eingesetzt werden. Denn wenn einmal die tausenden Spares zu Ende gegangen sind, dann folgt der nächste unkorrigierbare Schaden garantiert im nächsten Augenblick, natürlich immer zum bestmöglichen Zeitpunkt ;-)
Zurückkommend auf defekte Cluster: solche bekommt man einfach wieder weg - vorausgesetzt die Platte pfeifft NICHT aus dem letzten Spare-Loch - wenn man die jeweilige Partition oder die gesamten Platte, neu formatiert.
Da ja der Cluster nie kaputt war, wird er beim "echten" Formatieren (nix Quickformat!) wieder als funktionstüchtig erkannt.
Vorausgesetzt natuerlich, das eingesetzte Tool wertet bei der Formatierung einer bestehenden Partition NICHT die bestehenden BadCluster-Infos aus, normalerweise sollte dies aber nicht passieren.
Nachdem ich in diesem Punkt MS-Tools, zB auf den Windows-Setup-CDs, aber nicht traue, partitioniere und formatiere ich die HDDs mit externen Tools, zB PartitionMagic oder Knoppix usw.
--------
Zur Lösung deines Problems versuche ein checkdisk /r. Am besten von einem BartPE oder Reatogo und nicht vom laufenden OS, denn selbiges könnte sich für alle Ewigkeiten in irgendwas verrannt haben was für ein OS, welches die HDD nur einbindet, nicht der Fall ist bzw sein sollte.
|