Ich hatte einen USB-Stick mit meinen Projektdateien und hatte zeitweise ein Problem beim erneuten Mounten des USB-Sticks. Der Mount-Befehl sagte, es liege eine Mftmirr-Nichtübereinstimmung aufgrund des NTFS-Dateityps vor, also beschloss ich, das Dateisystem-Frontend auf mkfs.ext4 zu ändern. Jetzt ist der Inhalt meines Flash-Laufwerks vollständig weg. Bei weiterer Untersuchung kann ich bestätigen, dass mkfs die Dateien nicht löscht, daher ist meine Frage, was die Ursache dafür sein könnte?
Antwort1
mkfs
-Befehle formatieren das Ziellaufwerk mit einem neuen Dateisystem. Beim Formatieren wird ein leeres Dateisystem erstellt, das keine Dateien enthält. Das ist der Zweck der Formatierung.
Beenden Sie die Verwendung dieses LaufwerksJetztund mounten Sie es schreibgeschützt erneut. Wenn Sie Glück haben, können Sie Ihre Dateien mit photorec
oder einer ähnlichen Software wiederherstellen.
Antwort2
mkfs
löscht keine Dateien explizit. Im Zielgerät erstellt es Strukturen, die spezifisch für das gewünschte Dateisystem sind, ohne sich um bereits vorhandene Dateien zu kümmern. Das neue Dateisystem wird leer erstellt.
Tatsächlich verschwinden alte Dateien. Es stimmt, dass die alten Daten und Metadaten teilweise vorhanden sind, es sei denn, das neue Dateisystem wird mit einer Option erstellt, die das gesamte Gerät löscht (z. B. Nullen in den jetzt als unbenutzt markierten Speicherplatz schreibt). Es gibt jedoch keinen direkten Weg, um an die alten Daten zu gelangen, da die grundlegendsten Strukturen, die das alte Dateisystem identifizierten, mit den grundlegendsten Strukturen des neuen Dateisystems überschrieben wurden. Letztere sagen, dass es ein neues Dateisystem gibt und es leer ist. In einer solchen Situation sucht kein Betriebssystem nach Resten möglicher alter Dateisysteme, sodass die Dateien verschwunden zu sein scheinen.
Noch immer mit demrichtige Werkzeugedessen Aufgabe es ist, nach Überresten zu suchen, können Sie manchmal einige Daten zurückbekommen. Um Ihre Chancen zu maximieren, sollten Sie sofort aufhören, in das neue Dateisystem zu schreiben. Hängen Sie es aus. Wenn Sie es einhängen müssen, hängen Sie es schreibgeschützt ein.
Das Ändern eines Dateisystems in ein anderes an Ort und Stelle und ohne Dateiverlust nennt manKonvertierung. Tools aus dieser mkfs
Familie tun dies nicht. Generell gibt es keine Möglichkeit, von einem beliebigen Dateisystem in ein anderes beliebiges Dateisystem zu konvertieren. Es gibt Tools zum Konvertieren von einigenSpezifischDateisystemtyp zu einem anderenSpezifischTyp. Ich kenne kein Tool, das eine Konvertierung von NTFS nach ext4 ermöglicht. Da diese sehr unterschiedlich sind, wäre ich überrascht, wenn es ein solches Tool gäbe. Eine allgemeine Möglichkeit, den Dateisystemtyp zu ändern, besteht darin, die Daten an einen anderen Ort zu kopieren, ein neues leeres Dateisystem zu erstellen (wie Sie es getan haben) und die Daten zurück zu kopieren.
Auch wenn der neue Typ derselbe ist wie der alte, mkfs
repariert er das alte Dateisystem nicht. Seine Aufgabe ist es, ein leeres Dateisystem zu erstellenein neuer. Um ein Dateisystem zu reparieren, ist ein anderes Tool erforderlich (beginnend mit der fsck
Familie), aberLinux ist nicht gut gerüstet, um NTFS zu reparieren. Ich denke, in Ihrem Fall ist es zu spät, das alte Dateisystem als Ganzes zu reparieren. Sie sollten sich auf die Wiederherstellung von Dateien konzentrieren.