13Sep

Warum können Linux-Systeme manchmal Daten wiederherstellen? Windows kann nicht?


Warum können Sie einen Linux-basierten Computer oder eine Linux Live CD verwenden, um Daten wiederherzustellen, die Windows nicht konnte?

Heutige Frage &Die Antwortsitzung kommt dank SuperUser, einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites, zu uns.

Die Frage

SuperUser Leser Philip Allgaier möchte wissen, warum er Daten mit einer Linux Live CD wiederherstellen konnte, die in Windows als nicht behebbar gemeldet wurde:

Hintergrund: Anfang dieses Jahres hatte ich ein Problem mit einem SSD-Laufwerk, das Windows erkennen würdenicht mehr. Aber schließlich hat eine bootfähige Parted Magic 2012-10 den Trick geschafft. Sieh diesen gelösten Thread. Eine Frage blieb mir von diesem Moment an. .. Ich bin mir bewusst, dass Linux im Allgemeinen ein bisschen technischer und roher ist, aber kann jemand grob skizzieren, warum ein Linux-System( oder eigentlich nur das bestimmte, seit Ubuntu nicht)der Trick) ist in der Lage immer noch auf ein halb-beschädigtes Gerät zuzugreifen / mit ihm zu kommunizieren, wenn Windows nicht ist?

  • ignorieren sie einfach irgendwelche möglichen Hinweise, dass etwas falsch sein könnte?

  • Gibt es irgendwelche konkreten Gründe?

  • War es nur Glück, dass diese spezielle Umgebung die SSD nur für eine begrenzte Zeit zur Reaktion bringen konnte?

Während es sicherlich Glück gehabt haben könnte, sind wahrscheinlich mehr als ein paar Faktoren im Spiel. Lassen Sie uns untersuchen.

Der Antwort-

-SuperUser-Mitwirkende Eike bietet einige mögliche Erklärungen, nicht nur Glück, für seine Fähigkeit, die Daten zu speichern:

Normalerweise kommt es darauf an, auf was genau zugegriffen wird und wie genau das Gerät versagt. Wenn zum Beispiel die fragliche SSD z. B. Sektor 5 nicht abrufen kann und abstürzen wird, sobald Sektor 5 gelesen wird, kann der Unterschied einfach darauf beruhen, auf welche verschiedenen Systeme automatisch zugegriffen wird, sobald sie eine neue Platte erkennen.

Wenn Windows einen neuen Datenträger erkennt, liest es die Partitionstabelle und versucht automatisch, alle lesensicheren Dateisysteme zu öffnen. Wenn eine der Strukturen / Blöcke, die während dieses "mounting" -Prozesses gelesen werden, Ihre defekte SSD dazu veranlasst, sich zu verabschieden, besteht der Unterschied zu dieser speziellen Linux-Distribution einfach darin, dass sie nicht alle betroffenen Partitionen automatisch mounten kann. Lesen Sie beim Mounten einfach eine andere Teilmenge von Sektoren( die Implementierung von NTFS in Linux unterscheidet sich sehr von der in Windows). Während das Format auf der Festplatte das gleiche ist, ist es Sache des Betriebssystems, das es zum Lesen benötigt. Windows kann sekundäre Kopien der MFT lesen, oder es kann mit der Precaching einiger Daten beginnen, und das könnte der Unterschied sein. Ubuntu ist in einem ähnlichen Boot - es ist nicht auf Wiederherstellung aus der Box ausgerichtet, wird versuchen, jedes gefundene Dateisystem zu mountenbei neu entdeckten Medien automatisch, deshalb sind spezialisierte Distributionen, die auf die Wiederherstellung ausgerichtet sind, eine bessere Wahl, da sie nur das tun, was sie ausdrücklich verlangen, im Gegensatz dazu, Dinge automatisch zu tunvielleicht auch einfach Glück gehabt haben. Ich weiß nicht genug über den Ausfallmodus der SSD zu sagen.

Linux ignoriert generell nicht, dass etwas nicht stimmt. Es wird die gleichen SCSI-Fehler vom SATA-Chipsatz erhalten wie Windows - wenn Sie sich das Kernel-Protokoll anschauen, werden auf einer fehlerhaften Festplatte viele Fehlermeldungen angezeigt. Es hängt davon ab, welche Programme tatsächlich auf die Festplatte zugreifen, was als nächstes passieren wird. Wenn es sich um Software handelt, die auf Wiederherstellung ausgerichtet ist, versucht es möglicherweise, den gleichen Sektor eine begrenzte Anzahl von Malen erneut zu lesen, es kann es überspringen usw. Normalerweise ist es am besten, ein Image des Laufwerks mit so vielen Sektoren wie möglich zu lesenVersuchen Sie dann, Ihre Daten aus diesem Bild wiederherzustellen( eine Analyse direkt auf dem Laufwerk ist normalerweise eine schlechte Idee, da sich der Zustand verschlechtern könnte und nur weil Sie einmal etwas lesen konnten, bedeutet das nicht, dass Sie es wieder lesen können.)

Fellow Mitwirkender AthonSfere, bietet eine andere Sicht auf Dinge:

Viel davon ist die Art und Weise, wie die Umgebung das Dateisystem und die ACLs oder die Festplatte behandelt.

Windows wird alles tun, um seinen ACLs und Sektoren, die als schlecht oder leer markiert sind, zu gehorchen. So werden NTFS- oder Fat-Partitionen, die in Windows erstellt und verwaltet werden, ebenso wie Windows-MBRs von Windows als Windows-Markierung behandelt.

Wenn das Laufwerk versagt, je mehr Sie es verwenden, desto wahrscheinlicher ist es, dass ein großes Problem auftritt und die Umgebung abstürzt. Dann, wie das Betriebssystem behandelt, kommt ins Spiel, Windows wird BSOD oder neu starten, der Windows-Startvorgang wird MBR-Nachrichten, fehlende Dateinachrichten( NTDLR.dll ist fehlend oder beschädigt) und stoppen, weil diese schlechten Dateien erforderlich sind.

Wenn Sie eine Live-Festplatte verwenden, verlassen Sie sich nicht darauf. Ein fehlerhafter MBR wird umgangen, weil Sie von der Festplatte booten. Ein fehlerhafter Sektor, der die NTDLR.dll beschädigte, wird nicht benötigt. Alles ist auf der Festplatte. Sie können dann einen Lesevorgang versuchen. Wenn es auf einen "leeren" Sektor oder ein schlechtes Bit stößt, behandelt diese Umgebung es, wie auch immer es programmiert wurde. Ubuntu würde wahrscheinlich eher normales Betriebssystemverhalten beibehalten und mit dem fortfahren, was am wahrscheinlichsten passiert. Der Sektor ist leer, machen Sie etwas anderes. Dieser Sektor ist schlecht, bleib weg, lies nicht wieder, schreib nicht oder es wird Probleme verursachen.

Eine Wiederherstellungsplattform wird jedoch alle Daten lesen wollen. Die Datei-Marker sagen, die Datei sollte auf 0,5, 13. .. sein. Wenn der Dateisystembericht 13 fehlt, ignoriere den leeren Header und lese die Datei trotzdem, oder lese den fehlerhaften Sektor so gut wie möglich und versuche, ihn wiederherzustellen.

Außerdem kann Windows mit Anwendungen von Drittanbietern viel davon tun. Recuva kann eine Menge dieser "fehlenden" Dateien finden, zum einen. Aber Sie möchten nicht in einer Umgebung sein, die auf die Festplatte zurückschreiben und einen dauerhaften Verlust verursachen kann.

Ich habe dies vereinfacht und einige Interpretationen hinzugefügt, aber es sollte einige Lücken für das, was Sie fragen, ausfüllen.

Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.

http: //superuser.com/questions/586666/ warum-kann-linux-systeme-sometime-recover-daten-windows-cant-any-konkrete-gründe