Warum können Linux-Systeme manchmal Daten wiederherstellen, die Windows nicht wiederherstellen kann?
Warum können Sie einen Linux-basierten Computer oder eine Linux Live-CD verwenden, um Daten wiederherzustellen, die Windows nicht wiederherstellen konnte??
Die heutige Question & Answer-Sitzung wird dank SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Die Frage
SuperUser-Leser Philip Allgaier möchte wissen, warum er Daten mit einer Linux Live-CD wiederherstellen konnte, die unter Windows als nicht wiederherstellbar gemeldet wurde:
Hintergrund: Anfang dieses Jahres hatte ich ein Problem mit einem SSD-Laufwerk, das Windows nicht mehr erkennt. Aber schließlich gelang eine bootfähige Parted Magic 2012-10-10. Siehe diesen gelösten Thread. Eine Frage blieb von diesem Moment an bei mir…
Frage: Ich bin mir bewusst, dass Linux im Allgemeinen etwas technischer und roher ist, aber jemand kann grob beschreiben, warum ein Linux-System (oder eigentlich nur dieses System, da Ubuntu den Trick nicht getan hat) immer noch in der Lage ist, mit einer Hälfte darauf zuzugreifen Gerät beschädigt, wenn Windows nicht?
-
Ignorieren sie einfach mögliche Anzeichen dafür, dass etwas nicht stimmt?
-
Gibt es überhaupt konkrete Gründe??
-
War es nur Glück, dass diese spezielle Umgebung die SSD dazu brachte, wenn auch nur für eine begrenzte Zeit zu reagieren?
Während es sicherlich Glück gewesen sein könnte, gibt es wahrscheinlich mehr als ein paar Faktoren. Lass uns nachforschen.
Die Antwort
Der Superuser-Mitwirkende Eike bietet einige mögliche Erklärungen für das Speichern der Daten an:
In der Regel kommt es darauf an, auf was genau zugegriffen wird und wie genau das Gerät ausfällt. Wenn beispielsweise die betreffende SSD nicht in der Lage ist, beispielsweise Sektor 5 abzurufen, und zum Stillstand kommen wird, sobald etwas von Sektor 5 gelesen wird, kann der Unterschied einfach darin liegen, auf welche unterschiedlichen Systeme automatisch zugegriffen wird, sobald sie eine neue Platte erkennen.
Wenn Windows ein neues Laufwerk erkennt, liest es die Partitionstabelle und versucht automatisch, alle Dateisysteme zu öffnen, die es lesen kann. Wenn eine der Strukturen / Blöcke, die während dieses "Mounten" -Prozesses gelesen werden, dazu führt, dass Ihre fehlerhafte SSD auf Wiedersehen wechselt, besteht der Unterschied zu dieser spezifischen Linux-Distribution einfach darin, dass möglicherweise nicht alle betroffenen Partitionen automatisch geladen werden. Lesen Sie beim Mounten einfach eine andere Teilmenge von Sektoren (die Implementierung von NTFS in Linux unterscheidet sich sehr stark von der in Windows - während das Format auf der Festplatte das gleiche ist, liegt es an dem Betriebssystem, welche Strukturen es für erforderlich hält, zu lesen. Windows liest möglicherweise Sekundärkopien der MFT oder beginnt mit der Vorverarbeitung einiger Daten und das könnte der Unterschied sein. Ubuntu befindet sich in einem ähnlichen Boot - es ist nicht für die sofortige Wiederherstellung gedacht, sondern versucht, alle gefundenen Dateisysteme bereitzustellen auf neu entdeckten Medien automatisch. Aus diesem Grund sind spezialisierte Distributionen, die auf Erholung abzielen, die bessere Wahl, da sie nur das tun, was Sie ausdrücklich verlangen, und nicht automatisch etwas tun.
Natürlich haben Sie auch einfach Glück gehabt. Ich weiß nicht genug über den Ausfallmodus der SSD.
Linux ignoriert im Allgemeinen keine Indikatoren, dass etwas nicht stimmt. Es empfängt die gleichen SCSI-Fehler vom SATA-Chipsatz wie Windows. Wenn Sie sich das Kernel-Protokoll ansehen, werden auf einer fehlerhaften Festplatte viele Fehlermeldungen angezeigt. Es hängt davon ab, welche Programme tatsächlich auf die Platte zugreifen, was als nächstes passieren wird. Wenn es sich um eine auf Wiederherstellungszwecke ausgerichtete Software handelt, wird möglicherweise versucht, denselben Sektor eine begrenzte Anzahl von Wiederholungen erneut zu lesen, es zu überspringen usw. In der Regel empfiehlt es sich, ein Image des Laufwerks mit möglichst vielen Sektoren sauber abzurufen, und Versuchen Sie dann, Ihre Daten aus diesem Bild wiederherzustellen (eine Analyse direkt auf der Festplatte durchzuführen ist in der Regel eine schlechte Idee, da sich der Zustand möglicherweise verschlechtert. Nur weil Sie einmal etwas lesen konnten, bedeutet dies nicht, dass Sie sie erneut lesen können .)
Mitbewerber AthonSfere, bietet eine andere Sicht auf Dinge:
Ein Großteil davon ist die Art und Weise, wie die Umgebung das Dateisystem und die Zugriffssteuerungslisten oder die Festplatte verwaltet.
Windows wird alles tun, um seine ACLs zu befolgen, und Sektoren, die als fehlerhaft oder leer markiert sind. In Windows erstellte und gewartete NTFS- oder Fat-Partitionen sowie Windows-MBRs werden daher von Windows so behandelt, wie es von Windows markiert wurde.
Wenn das Laufwerk umso mehr ausfällt, je häufiger Sie es verwenden, desto wahrscheinlicher ist es, dass ein schwerwiegendes Problem auftritt und die Umgebung abstürzt. Dann, wie das Betriebssystem handhabt, das ins Spiel kommt, wird Windows BSOD oder Neustart, der Windows-Boot-Prozess wirft MBR-Nachrichten, fehlende Dateimeldungen (NTDLR.dll ist nicht vorhanden oder beschädigt) und stoppt, weil diese fehlerhaften Dateien erforderlich sind.
Wenn Sie eine Live-Diskette verwenden, verlassen Sie sich auf nichts davon. Ein fehlerhafter MBR wird umgangen, weil Sie von der Festplatte booten. Ein fehlerhafter Sektor, der die NTDLR.dll beschädigt hat, ist nicht erforderlich. Alles ist auf der Festplatte. Sie können dann versuchen, zu lesen. Wenn es auf einen "leeren" Sektor oder ein fehlerhaftes Bit stößt, wird es in dieser Umgebung so behandelt, wie es programmiert wurde. Ubuntu würde wahrscheinlich das normale Verhalten des Betriebssystems beibehalten und mit dem fortfahren, was am wahrscheinlichsten geschieht. Der Sektor ist leer, tun Sie etwas anderes. Dieser Sektor ist schlecht, bleib weg, lese nicht mehr, schreibe nicht oder es wird Probleme verursachen.
Eine Wiederherstellungsplattform wird jedoch alle Daten lesen wollen. Die Dateimarker sagen, dass die Datei auf 0,5, 13… sein sollte. Wenn die Dateisystemberichte 13 nicht vorhanden sind, ignorieren Sie den leeren Header und lesen Sie die Datei trotzdem oder lesen Sie den fehlerhaften Sektor so gut wie möglich und versuchen Sie, es wiederherzustellen.
Windows CAN kann dies auch mit Anwendungen von Drittanbietern tun. Recuva kann eine Menge dieser "fehlenden" Dateien finden. Sie möchten sich jedoch nicht in einer Umgebung befinden, in der auf die Festplatte zurückgeschrieben werden kann, um einen dauerhaften Verlust zu verursachen.
Ich habe dies vereinfacht und einige Interpretationen hinzugefügt, aber es sollte ein paar Lücken für das, was Sie fragen, ausfüllen.
Haben Sie der Erklärung etwas hinzuzufügen? Ton aus in den Kommentaren. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.
http://superuser.com/questions/586666/why-can-linux-systeme-sometime-recover-data-windows-cant-any-concrete-reasons