Wie kann ich eine gelöschte Datei wiederherstellen, die noch geöffnet ist?

20

Wie kann man eine Datei wiederherstellen, die gelöscht wurde, aber noch von einem Prozess geöffnet ist?

Der Blog-Beitrag "Wiederherstellen von Dateien von /proc" erklärt, wie dies unter Linux gemacht wird:

  1. Verwenden Sie lsof(z. B. lsof -c name), um alle Dateien zu finden, die derzeit für den angegebenen Prozess geöffnet sind (deren Name beginnt mit name). Aus der Ausgabe erfahren Sie den Prozess pidund den Dateideskriptor ( fd) der gesuchten Datei.
  2. Verwenden Sie cp /proc/<pid>/fd/<fd>/ tmp / restore-file`, um eine Kopie zu erstellen.

Der erste Schritt funktioniert auch unter OS X eins zu eins. Schritt 2 scheint jedoch komplizierter zu sein. Gibt es eine ähnliche Funktion unter OS X?

(Ich habe es versucht, /dev/fdaber in meinem Fall enthielt es nicht die PID / FD meines Prozesses / meiner Datei.)

Hbf
quelle

Antworten:

3

Ich konnte kein OSX-Äquivalent finden, antworte aber trotzdem, da dies dringend sein kann. Wenn die Datei für die Wiederherstellung wirklich wichtig ist und Sie das System herunterfahren müssen, hängen Sie das Dateisystem, in dem die Datei schreibgeschützt war, erneut ein und erstellen Sie ein Image der Partition mit einem Tool wie CloneZilla. Auf diese Weise können Sie weiterhin verschiedene Wiederherstellungstools verwenden In diesem Fall wird der von der Datei belegte Speicherplatz einer anderen Datei zugewiesen.

Abhängig davon, welchen Dateityp Sie wiederherstellen müssen, kann PhotoRec ihn möglicherweise finden. Außerdem kann die kostenlose Version von Disk Drill hilfreich sein. Je nach verwendetem Dateisystem kann TestDisk möglicherweise hilfreich sein (Mac-Dateisysteme werden nicht vollständig unterstützt, obwohl sie unter OSX ausgeführt werden).

Stephanie
quelle
1
Testdisk: cgsecurity.org/wiki/TestDisk ; Photorec: cgsecurity.org/wiki/PhotoRec - Beide sind besser als die meisten anderen Tools zur Wiederherstellung von Dateien, die ich verwendet habe. Photorec wird nicht unbedingt Metadaten wiederherstellen, aber die Daten sind da. Dies ist wahrscheinlich zu spät, aber Sie können auch eines dieser Programme von einem Flash-Laufwerk aus starten, bevor Sie einen Neustart durchführen, wenn Sie der Meinung sind, dass das Risiko, dass die Sektoren durch etwas anderes überschrieben werden, gering ist.
Nick
Vielen Dank, @Stephanie, sehr nett von Ihnen, dass Sie den Ansatz und die Tools geteilt haben. Ich habe die Frage aus Interesse gestellt, um mehr über OS X zu erfahren, es war also zum Glück keine Dringlichkeit (aber ich schätze Ihre rechtzeitige Antwort!).
Hbf