Können sich Daten auf einer Festplatte verschlechtern, ohne dass Windows darauf hinweist, dass dies passiert, wenn ich versuche, auf die Daten zuzugreifen?

3514
topo morto

Ist es wahrscheinlich, dass eine physische Verschlechterung einer Festplatte dazu führen könnte, dass Bits im Dateiinhalt "umdrehen", ohne dass das Betriebssystem dies bemerkt und Sie beim Lesen der Datei darüber informiert? ZB könnte ein 'p' in einer ASCII-Textdatei (binär 0111000 0 ) in 'q' (0111000 1 ) geändert werden, und ein Benutzer (me) kann dann die Datei öffnen und 'q' sehen, ohne sich eines Fehlers bewusst zu sein ist vorgefallen?

Ich bin an Antworten in Bezug auf FAT, NTFS oder ReFS interessiert ... wenn es einen Unterschied macht.

Ich möchte wissen, ob das Betriebssystem mich davor schützt, oder ob ich meine Daten auf Invarianz zwischen Kopien / im Laufe der Zeit überprüfen soll.

29
Nicht speziell verwandt, aber ähnlich: http://superuser.com/questions/613702/what-explains-the-garbled-message-start-wandows-ngrmadly-in-text-mode Michael Frank vor 7 Jahren 0
Ich nehme an, es könnte möglich sein, dass ein beschädigter Schreib- / Lesekopf versehentlich die falsche Ladung auf die Disc ausübt, obwohl ich auf dieser kleinen Waage noch nie Daten beschädigt gesehen habe. Ich würde auch nicht glauben, dass Windows mir sagt, wenn ein Laufwerk ausfällt oder nicht (Die Meldung beim Anmelden). Ich habe gesehen, dass Laufwerke im Laufe der Zeit ohne Windows-Warnung langsam sterben. CConard96 vor 7 Jahren 0
Natürlich ... werden die Daten als Bits mit relativen Werten von 0 oder 1 gespeichert, Entropie tritt in allen Systemen auf, einschließlich magnetischer und Festkörperspeicherung. Alle Daten verschlechtern sich im Laufe der Zeit. acejavelin vor 7 Jahren 0
@acejavelin Ich bin mir bewusst, dass es unvermeidlich ist, dass sich die Daten verschlechtern. Ich frage mich, ob Prüfsummen / andere Redundanz in Verbindung mit der Funktionsweise des Dateisystems dies wahrscheinlich * unbemerkt * verhindern wird (zumindest beim Zugriff auf die Datei). Titel wurde aus Gründen der Übersichtlichkeit aktualisiert. topo morto vor 7 Jahren 0
Beginnend mit Windows 7 hat das NTFS-Dateisystem eine Selbstheilung .. http: //technet.microsoft.com/en-us/library/cc771388 (v = ws.10) .aspx Moab vor 7 Jahren 0
Außerdem ... https://technet.microsoft.com/de-de/library/cc771388 (v = ws.10) .aspx Moab vor 7 Jahren 0
@Moab: Ich wäre mehr beeindruckt von Ihrem zweiten ("Auch ...") Kommentar, wenn sich die URL in irgendeiner Weise von der URL in Ihrem ersten Kommentar unterscheidet. TOOGAM vor 7 Jahren 2
Ich bin nicht hier, um jemanden zu beeindrucken Moab vor 7 Jahren 0
@topomorto ReFS kann (optional) Datenprüfsummen speichern und beim Lesen überprüfen. FAT und NTFS haben diese Funktion nicht. Andere Dateisysteme, die Datenintegrität bereitstellen, umfassen Btrfs und ZFS. AFAIK sind jedoch unter Windows nicht verfügbar. suriv vor 7 Jahren 0
Wenn Sie ReFS auf einem _mirrored_-Volume (nicht Parität!) Verwenden und es ordnungsgemäß konfigurieren, prüft es die Datei- und Metadaten des Dateisystems. Es wird beim Lesen überprüft (und ggf. korrigiert), und es gibt auch einen geplanten Auftrag, der das gesamte Volume regelmäßig nach erkannten Fehlern durchsucht. davidbak vor 7 Jahren 1

3 Antworten auf die Frage

24
Guntram Blohm

Ja, es gibt eine Sache, die Bit rot heißt.

Aber nein, es wird dich nicht unbemerkt beeinflussen.

Wenn ein Laufwerk einen Sektor auf die Platten schreibt, schreibt es nicht nur die Bits auf die gleiche Weise, wie sie im RAM gespeichert werden, sondern verwendet eine Codierung, um sicherzustellen, dass keine Sequenzen desselben Bits zu lang sind und fügt ECC-Codes hinzu, mit denen Fehler behoben werden können, die einige Bits betreffen, und Fehler erkennen, die mehr als einige Bits betreffen.

Wenn das Laufwerk den Sektor liest, prüft es diese ECC-Codes und repariert die Daten, falls erforderlich und möglich. Was als nächstes passiert, hängt von den Umständen und der Firmware des Laufwerks ab, die von der Bezeichnung des Laufwerks beeinflusst wird.

  • Wenn ein Sektor gelesen werden kann und keine ECC-Probleme vorliegen, wird er an das Betriebssystem übergeben
  • Wenn ein Sektor leicht repariert werden kann, kann die reparierte Version auf die Festplatte geschrieben, zurückgelesen und überprüft werden, um festzustellen, ob der Fehler zufällig war (kosmische Strahlung ...) oder ob ein systembedingter Fehler mit den Medien vorliegt
  • Wenn das Laufwerk feststellt, dass ein Fehler beim Datenträger vorliegt, wird der Sektor neu zugewiesen
  • Wenn ein Sektor nach einigen Leseversuchen weder gelesen noch korrigiert werden kann, gibt das Laufwerk auf einem Laufwerk, das als RAID-Laufwerk ausgewiesen ist, auf, ordnet den Sektor neu zu und teilt dem Controller mit, dass ein Problem aufgetreten ist. Der RAID-Controller muss den Sektor von den anderen RAID-Mitgliedern rekonstruieren und auf das ausgefallene Laufwerk zurückschreiben, das dann in dem neu zugewiesenen Sektor gespeichert wird, der das Problem hoffentlich nicht hat.
  • Wenn ein Sektor auf einem Desktop-Laufwerk nicht gelesen oder korrigiert werden kann, versucht das Laufwerk mehr, es zu lesen. Abhängig von der Qualität des Laufwerks kann dies dazu führen, dass der Kopf neu positioniert wird, ob beim wiederholten Lesen einige Bits umgedreht werden, welche Bits am schwächsten sind, und einige andere Dinge. Wenn einer dieser Versuche erfolgreich ist, ordnet das Laufwerk den Sektor neu zu und schreibt die reparierten Daten zurück.

(Dies ist einer der Hauptunterschiede zwischen Laufwerken, die als "Desktop" -, "NAS / RAID" - oder "Videoüberwachung" -Laufwerke verkauft werden.) Ein RAID-Laufwerk kann schnell aufgeben und den Sektor dazu veranlassen, den Sektor zu reparieren, um Latenzzeiten auf dem Computer zu vermeiden Benutzerseite: Ein Desktop-Laufwerk wird immer wieder versucht, da es wahrscheinlich besser ist, wenn der Benutzer einige Sekunden wartet, als ihm zu sagen, dass die Daten verloren gehen, und ein Video-Laufwerk eine konstante Datenrate mehr als eine Fehlerbehebung vorsieht, da ein beschädigter Frame normalerweise gewonnen hat Nicht einmal bemerkt werden.)

Auf jeden Fall weiß das Laufwerk, ob etwas verrottet ist, erholt sich normalerweise davon, und wenn dies nicht möglich ist, teilt es dem Controller mit, der wiederum dem Treiber mitteilt, welcher das Betriebssystem informiert. Es liegt dann am Betriebssystem, diesen Fehler dem Benutzer anzuzeigen und darauf zu reagieren. Dies ist, warum Cyborg sagt

Ich habe selbst nie einen einzelnen Fehler erlebt, aber ich habe viele Festplatten gesehen, auf denen ganze Sektoren ausgefallen sind.

Das Laufwerk weiß, dass mit dem Sektor etwas nicht stimmt, aber es weiß nicht, welche Bits ausgefallen sind. (Ein einzelnes fehlerhaftes Bit wird immer von ECC abgefangen.)

Beachten Sie, dass chkdsk und das automatische Reparieren von Dateisystemen keine Reparaturdaten in Dateien ansprechen . Diese zielen auf Korruption innerhalb der Struktur des Dateisystems ab. wie eine Dateigröße, die sich zwischen dem Verzeichniseintrag und der Anzahl der zugewiesenen Blöcke unterscheidet. Die Selbstheilungsfunktion von NTFS erkennt strukturelle Schäden und verhindert, dass diese Ihre Daten weiter beeinträchtigen. Sie repariert keine Daten, die bereits beschädigt sind.

Es gibt natürlich andere Gründe, warum Daten beschädigt werden können. Zum Beispiel. Ein fehlerhafter Arbeitsspeicher in einem Controller kann die Daten ändern, noch bevor diese an das Laufwerk gesendet werden. In diesem Fall erkennt oder repariert kein Mechanismus auf dem Laufwerk die Daten. Dies kann ein Grund dafür sein, dass die Struktur eines Dateisystems beschädigt ist. Andere Gründe sind einfache Softwarefehler, Blackout beim Schreiben des Datenträgers (obwohl dies durch das Journaling des Dateisystems angesprochen wird) oder fehlerhafte Dateisystemtreiber (der NTFS-Treiber unter Linux war lange Zeit schreibgeschützt, da NTFS zurückentwickelt und nicht dokumentiert wurde) und die Entwickler trauten ihrem eigenen Code nicht).

Ich hatte einmal dieses Szenario, in dem eine Anwendung alle ihre Dateien auf zwei verschiedenen Servern in verschiedenen Rechenzentren speichert, um eine Arbeitskopie zu behalten, wenn die Daten unter allen Umständen vorhanden sind. Nach einigen Monaten stellten wir fest, dass auf einer der Kopien ca. 0,1% aller Dateien nicht mit der MD5-Summe übereinstimmten, die die Anwendung in ihrer Datenbank gespeichert hat. Es stellte sich heraus, dass das Glasfaserkabel zwischen dem Server und dem SAN fehlerhaft war.

Diese anderen Gründe sind der Grund, warum einige Dateisysteme wie ZFS zusätzliche Prüfsummeninformationen enthalten, um Fehler zu erkennen. Sie sollen Sie vor viel mehr Dingen schützen, die schief gehen können, als nur ein bisschen Fäulnis.

+1 für den Hinweis, dass andere Hardwareprobleme neben der Verschlechterung der Laufwerkmedien dazu führen können, dass beschädigte Daten gelesen und geschrieben werden. Ich persönlich habe das Problem mit schlechten Kabeln in einem Fall gehabt. Darüber hinaus prüft das Windows ReFS-Dateisystem (für Server 2012+), wenn es ordnungsgemäß konfiguriert ist und oberhalb von Storage Spaces ausgeführt wird, neben Dateisystemdateien auch Dateisystemdaten sowie Dateisystem-Metadaten und stellt sie wieder her. Außerdem werden periodische, vollständige Datenträger erstellt Integritätsscans zum Erkennen und Beheben vieler solcher Fehler. davidbak vor 7 Jahren 2
17
cybernard

Ja, Festplatten können und werden ohne Warnung des Betriebssystems abgebaut. Es heißt Bitfäule . Ich habe selbst nie einen einzelnen Fehler erlebt, aber ich habe viele Festplatten gesehen, auf denen ganze Sektoren ausgefallen sind.

Windows hat keinen eingebauten Schutz des Dateiinhalts über die Struktur des NTFS-Dateisystems hinaus. Stellen Sie sich NTFS wie ein Buch vor: Nun, es schützt nur das Inhaltsverzeichnis und prüft, ob alles passt. Befindet sich der Schaden jedoch in der Mitte einer Seite, bietet er keinen Schutz. FAT hat nichts. Festplatten verwenden die ECC-Fehlerkorrektur für jeden Sektor, aber das Laufwerk informiert Windows nicht. Einige Dateitypen enthalten speziell CRC-, MD5- oder SHA-Hashes, um Beschädigungen zu erkennen, beheben jedoch nichts.

Selbst dann sagt der Hash nur, dass es ein Problem gibt, aber er weiß nicht, wo sich der Fehler befindet.

Die Festplatte verfügt über SMART, mit dem der Zustand der Festplatte überwacht wird. Wenn sich das Laufwerk jedoch nicht vor der Tür befindet, werden Sie vom BIOS nicht gewarnt. Am schlimmsten ist, dass SMART in Ihrem BIOS häufig standardmäßig deaktiviert ist. Sie können die Zahlen über die Software überwachen, aber unterschiedliche Laufwerke haben unterschiedliche Probleme. Wenn Sie eine Reihe von verlagerten Sektoren haben oder Ihre ECC-Fehler ständig steigen. Wenn Sie täglich 100.000 neue ECCs haben, ist dies ein schlechtes Zeichen.

Viele Dateitypen haben keinen Schutz gegen Bitfäule . Wie TXT und BMP, die überhaupt keinen Schutz haben. Winrar bietet eine optionale Option zum Hinzufügen von Paritätsdaten zum Archiv, wodurch die Datei vergrößert wird. Sie kann jedoch (proportional zur Menge der hinzugefügten Paritätsdaten) erkennen und diese Art von Fehler reparieren.

Alle anderen mir bekannten Kompressionsprogramme erkennen Fehler, sind jedoch hilflos, etwas dagegen zu unternehmen.

Irgendwann werden die Fehler in einem Sektor so schlecht sein, dass ECC ihn nicht korrigieren kann, und das Laufwerk gibt Ihnen an, was es liest, selbst wenn es falsch ist.

Sie können QuickPar oder ähnliches verwenden, um Paritätsdatendateien zu erstellen, aber meines Wissens gibt es keine Möglichkeit, sie zu automatisieren. Beispielsweise ändern Sie die Datei selbst, wenn Sie die Parität manuell aktualisieren müssen. Sie können auch Paritätsdaten für eine Gruppe von Dateien haben, aber Sie ändern 1 Datei, und der gesamte Paritätssatz muss neu erstellt werden. Dies ist eine echte Kopfschmerzen für alle, aber nur eine kleine Anzahl von Dateien.

Windows, chdsk, noch NTFS hat eine Erkennung gegen Bitfäule, die von RAID oder einem Dateisystem mit Parität behandelt wird. Eine fehlerhafte Partition wird auch nicht durch Bitfäule verursacht. Ich stimme dieser Antwort zu Ramhound vor 7 Jahren 0
@Ramhound Leider ist die Anzahl der Benutzer, die Daten mit RAID-Spiegelung, Level 5 oder Level 6 schützen, wahrscheinlich weniger als 0,01%. cybernard vor 7 Jahren 1
Ich weiß, dass ich allgemein sprach. Bit rot! = Schlechte Partitionen Ramhound vor 7 Jahren 0
@ Ramhound Wow, ich habe so viel Mühe mit deinem ersten Satz. Meinten Sie "hat keine Erkennung"? Ich denke, du meinst "Eine schlechte Partition ist nicht geschützt". Wenn das verrottete Bit das 3.576.-Bit durch das 4.080-te Bit (Bytes 447-510) einer MBR-basierten Platte ist, würde dies jedoch die Partitionen beeinflussen. Ich bin sicher, GPT hat ähnliche entscheidende Bits. Es sei denn, Sie wissen von einem wirksamen Weg, um zu kontrollieren, welche Bits rot sind ... TOOGAM vor 7 Jahren 0
NOR = NICHT ODER; In einem Satz verwendet bedeutet dies, dass es sich um eine exklusive Liste handelt. Ramhound vor 7 Jahren 1
Ich hatte diese 750 GB Festplatte, die solche Dinge tat. Zunächst war der Computer langsam und friert die ganze Zeit ein. Bei einigen Textdateien wird ein Teil davon auf Null gestellt oder verstümmelt. Der Computer stoppte später. Ich habe eine neue Festplatte (ich habe HDD und nicht SSD. Ich denke, ich hätte eine SSD haben sollen) und das Problem ging und der PC ist schnell Suici Doga vor 7 Jahren 1
Als anderen Antwortstatus gibt es etwas, das ZFS genannt wird, das vor Bitfehl schützen kann (z. B. kann es einzelne nicht behebbare Bitfehler in Dateien erkennen). Während die meisten "Dateien" nicht wissen, dass sie beschädigt sind oder wie sie behoben werden sollen, kann ein intelligentes Dateisystem dazu beitragen, die Gefahr eines dauerhaften Datenverlusts zu verringern, wenn ein einzelnes Bit in die Irre geht. phyrfox vor 7 Jahren 0
@phyrfox Sie machen einen guten Punkt über ZFS, aber sie verwenden Windows und ich habe noch nie eine Implementierung für Windows gesehen. cybernard vor 7 Jahren 0
2
TOOGAM

Ja, es ist möglich. Windows ist nur Software. Software ist eine Reihe von Anweisungen, die ein Computer befolgen muss.

Denken Sie an eine andere Art von Anweisungen: ein Buch. Was können diese Anweisungen bewerkstelligen, wenn sie in einem Buch geschrieben werden, das sich in einem Regal befindet und niemand sich bemüht, das Buch zu öffnen und diese Anweisungen zu lesen?

So wie diese schriftlichen Anweisungen von einer Person verlangt werden, die Anweisungen zu lesen und mit der Befolgung der Anweisungen zu beginnen, ist für die Computersoftware Hardware erforderlich, um Dinge zu tun. Selbst wenn ein Buch Anweisungen hat, die mit fabelhafter Genauigkeit geschrieben wurden, verhindert dies nicht Probleme, wenn sich eine Person dazu entscheidet, die Anweisungen zu lesen, sie dann jedoch falsch umzusetzen. Ebenso kann Software nicht verhindern, dass Hardware schlechte Dinge tut. Defekte Hardware kann also physisch überlegen, was jede Software, einschließlich Microsoft Windows, kann.

Jetzt kann ReFS mit der Absicht entworfen werden, dass Software Details über die Daten speichert und dass die Software diese Details später vergleicht. Ein einfaches Konzept ist die "Prüfsumme", bei der Software bestimmte Werte hinzufügt und sicherstellt, dass diese Werte mit dem erwarteten Ergebnis übereinstimmen. Wenn Hardware diese Software implementiert, können bestimmte schlechte Ergebnisse erkannt werden. Dies kann sogar sehr wahrscheinlich wirken. Da jedoch die Anzahl potenzieller Probleme, die theoretisch existieren könnten, im Grunde unendlich ist, gibt es keine Garantie dafür, dass Software notwendigerweise jedes einzelne Problem erkennt. (Denken Sie daran, dass Software eine Reihe von Anweisungen ist, die im Voraus erstellt wurden.)

FAT ist besonders wenig an Funktionen. FAT12 wurde für Disketten entwickelt und FAT16 für Systeme mit bis zu 4 GB (obwohl die meisten FAT16-Implementierungen von Microsoft normalerweise nicht über 2 GB arbeiteten). Ohne die VFAT-Erweiterung unterstützte keiner von ihnen Dateinamen, die länger als 11 Zeichen waren (einige davon würden sich in einem Teil befinden, der als "Erweiterung" bezeichnet wird). FAT wurde einfach zum Speichern von Daten in einer Zeit entwickelt, in der die Fähigkeit, Daten zu speichern, ein neuartiges Konzept war, über das Erwachsene unterrichtet werden mussten. Als FAT als "Spitzentechnologie" galt, war die Computertechnologie noch nicht ausreichend verbreitet und ausgereift, als dass sich die Menschen über die erweiterten Funktionen Gedanken machten.

NTFS fügte Unterstützung für einige weitere Funktionen hinzu. Möglicherweise wurde das Betriebssystem leicht in der Lage, die Benutzerberechtigungen zu verfolgen. Es gibt verschiedene Versionen von NTFS. Beispielsweise weist Moab darauf hin, dass Windows Server 2008 die Unterstützung für selbstheilendes NTFS hinzugefügt hat, das einige Dinge erkennen kann. Dieses Feature war jedoch neu in Windows Server 2008, daher wird es von Windows XP (oder Windows Server 2003 oder früheren Versionen) überhaupt nicht unterstützt. Wenn man sich die Liste der Features ansieht, scheint es dennoch einige Metadaten zu geben, die dem Betriebssystem dabei helfen, Probleme zu erkennen, die so schwerwiegend sind, dass der Datenträger nicht bereitgestellt werden kann, oder andere Schlüsselbereiche des Datenträgers, die den Kern des Betriebssystems beeinflussen. Es sah nicht so aus, als würde jedes einzelne Element in jeder einzelnen Datei von dieser einen bestimmten Funktion betroffen sein.

Es ist äußerst unwahrscheinlich, dass die Software für solche Betriebssysteme solche Dinge bemerkt, es sei denn, sie verursachen erhebliche Probleme für das Betriebssystem, um Aufgaben auszuführen. Es kann einige Ausnahmen geben, wie die Teile des Betriebssystems, die Festplatten überprüfen (CheckDsk / ChkDsk / ScanDisk / ScanDskW, je nach Betriebssystem), aber selbst diese werden eher eingeschränkt sein, was sie erkennen können, hauptsächlich weil die Dateisysteme dies nicht tun Es werden keine sehr großen Datenmengen gespeichert, die für die Festplattenprüfung nützlich sein sollten.

(RAID5 ist möglicherweise anfälliger für das Erkennen solcher Dinge, wobei jedes Bit ein Paritätsbit hat, das etwas Ungewöhnliches bemerkt. Selbst dann wäre es an der RAID-Implementierung, eine Überprüfung durchzuführen, um das Problem zu erkennen. Wenn das Problem aufgetreten ist Wenn ein Teil der Festplatte nicht aktiv bearbeitet wird, bleibt das Problem möglicherweise unbemerkt, bis jemand versucht, diese Daten zu verwenden.)

In jüngerer Zeit bedeutete eine größere Anzahl von Bits, dass kleine Wahrscheinlichkeiten, wie etwa die Wahrscheinlichkeit von "1 von 10 Millionen", die Dinge eher beeinflussen. Die allgemeine Öffentlichkeit hat auch etwas über "kosmische Strahlen" gelernt, die einen kleinen Einfluss auf die Dinge haben können. Da bei neueren Geräten die Bits so eng gestopft werden, sind die physischen Anforderungen für die Darstellung eines Bits geringer, so dass selbst kleine Auswirkungen eher die Erkennbarkeit eines Bits beeinträchtigen. ReFS verfügt über einige Funktionen, die dazu beitragen sollen, dass sie erkannt werden. Wikipedia-Artikel zu ReFS bezeichnet dies als "automatische Integritätsprüfung". Da dies als bemerkenswertes Merkmal dieses Dateisystems beschrieben wird, sind solche Funktionen wahrscheinlich weiterentwickelt als mit NTFS (und sicherlich mehr als FAT, das vergleichsweise einfach war.)