
Ich habe versucht, mich bei Ubuntu 14.04 anzumelden, aber nachdem ich das Passwort eingegeben hatte, konnte ich weder Symbole noch Bindestriche sehen. Ich hatte dieses Problem schon einmal und kannte auch die Lösung.
Das Problem war, dass meine Ubuntu-Partition fast voll war.
Ich hatte vor, die riesigen heruntergeladenen Dateien auf meine Windows-Partition zu verschieben. Ich ging ins Terminal und mountete mein Windows-Laufwerk unter . Alt+Shift+F1/mnt
Dann habe ich die Dateien mit mv
auf mein gemountetes Laufwerk verschoben.
Die Dateien wurden erfolgreich verschoben (ich habe das mit bestätigt ls
).
Ich habe das Laufwerk unmountet und mein System neu gestartet und was habe ich festgestellt?
Die Dateien waren verschwunden.
Einfach so. Was könnte der Grund sein? Ich habe auch versucht, die Dateien wiederherzustellen, aber bisher ohne Erfolg!
BEARBEITEN :
Ich konnte einige (nicht alle) Dateien wiederherstellen. Die Dateien erschienen im Explorer, sobald ich chkdsk
das betroffene Laufwerk aufgerufen habe.
Einige Dateien waren beschädigt (die Cluster wurden möglicherweise überschrieben).
Antwort1
Nur ein Hinweis: einsync
Problem
Der Kernel behält die Daten im Speicher, um (relativ langsame) Lese- und Schreibvorgänge auf der Festplatte zu vermeiden. Dies verbessert die Leistung, aberWenn der Computer abstürzt, können Daten verloren gehen oder das Dateisystem beschädigt werden.
Der Befehl „sync“ stellt sicher, dass alles im Speicher auf die Festplatte geschrieben wird.
In Ihrem Fall schalten Sie den Computer wahrscheinlich aus, bevor das physische Kopieren der Dateien abgeschlossen ist. Leider reicht
die einfache Antwort nicht aus, um zu garantieren, dass der Kernel mit dem Leeren der Dateien fertig ist.ls
Wenn Ihre Festplatte außerdem vollständig voll ist, sollten einige der Dateien immer noch nur im Speicher vorhanden sein. Nach dem Neustart des Systems gibt es daher keine Möglichkeit, sie erneut aus dem Speicher zu extrahieren.RAM.
Sie können dieses Problem beim nächsten Mal vermeiden, indem Sie sync
vor dem Ausschalten einen Befehl eingeben und auf den Beendigungsstatus warten:
mv From_Here To_There
sync && echo " ### DONE : sync finish to work ##"
Referenz
info coreutils 'sync invocation'
Sie können mehr lesen„sync“ schreibt alle im Speicher gepufferten Daten auf die Festplatte. Dies kann (ist aber nicht beschränkt auf) geänderte Superblöcke, geänderte Inodes und verzögerte Lese- und Schreibvorgänge umfassen. Dies muss vom Kernel implementiert werden; das „sync“-Programm führt lediglich den „sync“-Systemaufruf aus.
Notiz
Wenn Sie die Partition aushängen, wird die Synchronisierung vom System durchgeführt, aber Sie müssen warten, bis der Aushangvorgang korrekt abgeschlossen ist. Wenn dies nicht der Fall ist, liegt das Problem vor.