Linux "Dieser Ort konnte nicht angezeigt werden"?
Guten Morgen (oder Mittag),
Ich habe gerade in Linux Ubuntu auf meiner externen Festplatte ein paar Urlaubsbilder zusammengefügt. Also in einen anderen Ordner verschoben. Als ich eines dieser Bilder dann öffnen wollte, bekam ich die Fehlermeldung, dass keine Anwendung gefunden werde konnte, um das Bild zu öffnen. Dateityp ".jpg". Die anderen Fotos, die ursprünglich im Ordner waren, konnten geöffnet werden.
Ich habe daraufhin die Festplatte ausgehangen und wieder erneut geöffnet. Nun erhalte ich folgende Fehlermeldung, wenn ich den Ordner öffne:
DIeser Ort konnte nicht angezeigt werden.
Leider konnte der gesamte Inhalt von >>Irland<< nicht angezeigt werden: Fehler beim Holen der Information für Datei >>/media/juergen/TOSHIBA EXT/Urlaub/Irland/DSC_4125.jpg<<: Das Argument ist ungültig
Hat jemand eine Lösung für mich parat? Wenn ich den Ordner anzeigen lasse, ist dieser leer. Sind die Daten jetzt verloren?
2 Antworten
Wenn Du Glück hast, ist es ein Permission-Problem, also ein Problem mit den Berechtigungen. Linux hat eine ziemlich ausgefeilte Rechteverwaltung.
Schau mal, ob Du Rechte auf dem entsprechenden Verzeichnis hast.
Öffne den Dateibrowser (Nautilus / Files), navigiere so weit, bis Du das entsprechende Verzeichnis sehen kannst, dann Rechtsklick darauf und "Zugriffsrechte".
Hier sollte bei "Eigentümer" Dein eigener User-Account stehen und als Berechtigung "Dateien erstellen und löschen".
Darunter dann bei "Gruppe" die Gruppe, zu der Dein User gehört, sowie als Berechtigung "Auf Dateien zugreifen" - eventuell auch hier "Dateien erstellen und löschen".
Und ganz unten sind die Rechte für "others". Dort sollte ebenfalls "Auf Dateien zugreifen" stehen.
Das entspricht den Zugriffsrechten 755 bzw. 775. (Das "execute"-Bit sollte bei Verzeichnissen immer gesetzt sein, da man sonst nicht in diese wechseln bzw. ihren Inhalt auflisten kann.)
Wenn Du das Verzeichnis öffnen kannst, kannst Du auch die Rechte auf der entsprechenden Datei prüfen. Hier solltest Du selbst Eigentümer sein und die Rechte "Lesen und schreiben" haben, Gruppe entweder "Nur lesen" oder ebenfalls "Lesen und schreiben" und "others" sollten "Nur lesen" haben. Hier sollte das "executable"-Flag ("Der Datei erlauben sie als Programm auszuführen") nicht gesetzt sein. Gerade wenn Du die Dateien mal auf einem Medium hattest, das keine POSIX-Permissions unterstützt, kann es aber schnell mal vorkommen, dass das "executable"-Flag ebenfalls gesetzt ist, was jetzt auch nicht sooo schlimm wäre. Wenn das "executable"-Flag nicht gesetzt ist, entspricht das den Zugriffsrechten 644 bzw. 664.
Kannst Du es mal von einem Terminal aus versuchen, in das entsprechende Verzeichnis zu wechseln und dann ein "ls -l" auszuführen - außerhalb des Verzeichnisses und dann noch einmal "innen"?
Dann "von außen" (vom übergeordneten Verzeichnis aus) mal schauen, welche Flags auf dem Verzeichnis gesetzt sind (sollte etwas, wie "drwxr-xr-x" oder "drwxrwxr-x" sein) und, wenn Du Dich innerhalb des Verzeichnisses befindest nochmal schauen, ob die Datei Dir aufgelistet wird und, falls ja, welche Flags für die Datei gesetzt sind und wer der Eigentümer / Gruppe ist.
Falls die Auflistung der Dateien zu lang ist, kannst Du mittels "ls -l | less" (das "|" zwischen den beiden Befehlen ist das "Pipe-Symbol", auf deutschen Tastaturen AltGr + "<" - das leitet die Standardausgabe des ersten Befehls auf die Standardeingabe des zweiten um, sodass der zweite die Ausgabe des ersten verarbeiten kann) das ganze "seitenweise" anzeigen lassen. (Pfeiltasten oder Page up / down zum "scrollen", Taste "Q" drücken, um das ganze zu beenden und zur Kommandozeile zurückzukehren.)
Wenn ich den Befehl im betroffenen Ordner eingebe, erhalte ich folgende Fehlermeldung.
ls: Zugriff auf 'DSC_4125.jpg' nicht möglich: Das Argument ist ungültig.
Dieser setzt sich dann fort mit DSC_4126 und scheinbar allen weiteren Dateien, die ich in den Ordner verschoben habe.
Die ganzen Berechtigungen sind aber scheinbar soweit alle in Ordnung, bzw weichen nicht ab.
Von den Dateien, die ich in den Ordner verschoben habe, habe ich eine Sicherheitskopie. Könnte es eine Herangehensweiße sein, die Dateien nochmal in den Ordner zu verschieben oder zerschieße ich diesen dann komplett?
Leider habe ich keine Kopie von den Dateien im betroffenen Zielordner.
Wenn ich den Befehl im betroffenen Ordner eingebe, erhalte ich folgende Fehlermeldung.
ls: Zugriff auf 'DSC_4125.jpg' nicht möglich: Das Argument ist ungültig.
Dieser setzt sich dann fort mit DSC_4126 und scheinbar allen weiteren Dateien, die ich in den Ordner verschoben habe.
Die ganzen Berechtigungen sind aber scheinbar soweit alle in Ordnung, bzw weichen nicht ab.
Von den Dateien, die ich in den Ordner verschoben habe, habe ich eine Sicherheitskopie. Könnte es eine Herangehensweiße sein, die Dateien nochmal in den Ordner zu verschieben oder zerschieße ich diesen dann komplett?
Okay, das klingt tatsächlich, als sei das Dateisystem beschädigt. Das ist natürlich schlecht!
Hänge das Dateisystem aus ("umount" - bzw. schlicht "Eject-Symbol" im Nautilus oder über "Laufwerke" / "Disks"), mounte es händisch als "read-only" ("mount -o ro ..."), damit der Dateisystemtreiber keine Schreiboperationen mehr durchführt, kopiere die Daten, die noch vorhanden sind, auf ein anderes Laufwerk (eine andere Festplatte) - idealerweise mittels "rsync".
Die beschädigten Dateien kannst Du versuchen, mittels "file carving" wiederzubekommen, siehe Antwort von Commodore64 - wobei ich nicht weiß, wie erfolgsversprechend das ist.
Bis Du das gemacht hast, das Dateisystem möglichst nicht mehr schreibbar mounten, da die "Beschädigung" sich ausweiten kann und Du Gefahr läufst, noch mehr Daten zu verlieren.
Danke dir.
Der Lösungsansatz mit dem read-only scheitert leider mit der Fehlermeldung
"konnte nicht in /etc/fstab gefunden werden."
Leider bin ich bei weitem kein Linux Experte und muss mich da nach und nach noch weiter reinarbeiten.
Übrigens hat der vorherige Befehl "ls -l" auch alle alten Dateien im Ordner angezeigt. Diese sind also glücklicherweiße (noch) vorhanden.
Kleines Update:
Ich habe mir einen anderen File Explorer von GitHub installiert und konnte damit auf den Ordner zugreifen und die beschädigten Dateien löschen. Nun kann ich auf den Ordner wieder zugreifen.
Vermutlich ist das Dateisystem defekt.
Für den Fall gibt es "photorec", das kann auch Dateien (nicht nur Photos wie der Name PHOTORECovery impliziert) auf völlig zerstörten Dateisystemen rekonstruieren wenn die eigentlichen Daten noch vorhanden und intakt sind.
Hier die man-page:
PHOTOREC(8) Administration Tools PHOTOREC(8)
NAME
photorec - Recover lost files from harddisk, digital camera and cdrom
SYNOPSIS
photorec [/log] [/debug] [/d recup_dir] [device|image.dd|image.e01]
photorec /version
DESCRIPTION
PhotoRec is file data recovery software designed to recover lost files including video, documents and archives from Hard Disks and
CDRom and lost pictures (Photo Recovery) from digital camera memory. PhotoRec ignores the filesystem and goes after the underlying
data, so it'll work even if your media's filesystem is severely damaged or formatted. PhotoRec is safe to use, it will never attempt
to write to the drive or memory support you are about to recover lost data from.
For more information on how to use, please visit the wiki pages on www.cgsecurity.org
OPTIONS
/log create a photorec.log file
/debug add debug information
SEE ALSO
testdisk(8), fdisk(8).
AUTHOR
PhotoRec 7.1, Data Recovery Utility, July 2019
Christophe GRENIER <grenier@cgsecurity.org>
https://www.cgsecurity.org
2019 July PHOTOREC(8)
Danke dir, werde ich mal probieren.
Ich hatte vorher noch ein paar Fotos von meiner Cloud auf den selben Ordner geladen. Auch wenn Linux meint, dass dort keine Dateien im Ordner sind:
Die Fotos die ich mir von der Cloud in den Ordner gespeichert habe, sind nach wie vor über den Download-Verlauf im Browser aufrufbar, auch wenn der Ordner angeblich leer ist.
Ich denke mal, dass Linux hier versucht eine Datei zu laden die beschädigt ist und/der nicht (mehr) existiert und dann den Ladevorgang abbricht.
Gibt es aufgrund dieser Information vielleicht einen anderen Lösungsansatz? Also, die Fotos scheinen darauf noch zu existieren. Linux lädt den Ordnerinhalt nur nicht mehr.
Genau dafür ist Photorec da. Daten ohne Dateisystem (also "Ordner") zu finden und zu retten.
Was bei externen Festplatten leider oft passiert ist, dass der USB Controller "durchknallt" und dann nur noch Mist liest. Dann hilft Photorec auch nicht mehr.
Aber wenn das einfach nur eine externe SSD ist, kann man die eigentliche SSD heraus holen und intern anschließen oder ein neues USB Leergehäuse kaufen und die SSD dort einstecken.
Photorec ist eine "file carving"-Utility.
Das ist aber schon ein ziemlicher Aufwand und rekonstruiert auch nicht immer korrekt (zumal Dateien ja fragmentiert sein können) und wird zudem wahrscheinlich sehr viel mehr wiederherstellen (z. B. gelöschte Dateien) als nur die eine "beschädigte" Datei.
Ich würde zunächst andere Fehlerquellen ausschließen. Photorec wäre ein "letzter Ausweg", um die Daten evtl. wiederzubekommen.
Da bin ich gerade auf der Suche.
Die Dateien im Ordner sind wie gesagt noch vorhanden. Ich habe vorher noch ein paar Fotos von der Cloud in den Ordner geladen. Im Browserverlauf kann ich die Fotos noch aufrufen.
Nun wäre es wissenswert, ob es irgendeine andere Möglichkeit gibt, auf die Dateien zuzugreifen. Sie existieren ja noch. Linux möchte nur den Ordner nicht mehr öffnen, da eines der Fotos die Fehlermeldung "Das Argument ist ungültig." auslöst.
Der Browserverlauf ist ein Zwischenspeicher wo der Browser weiß wo es sein sollte ohne nachzugucken. Wenn dann die Daten nicht mehr an dem Ort sind, sieht man die noch im Browser da der das nicht weiß, dass die nicht da sind wo die sein sollen.
Du musst auf der Platte gucken, nicht jemanden fragen der meint zu wissen wo die sind weil der das vor langer Zeit mal gesehen hatte.
Danke dir.
Die Zugriffsrechte stimmen soweit. Ich denke mal, dass das irgendwas mit dieser einen Fotodatei zu tun hat. Leider habe ich gerade keinen anderen PC mit einem anderen Betriebssystem hier und weiß nicht, ob man sonst irgendwie anders auf den Ordner zugreifen kann. Den Ordner kopieren kann ich auch nicht, da selbe Datei hier den gleichen Fehler verursacht. Die Datei mit dem Namen zu suchen hat auch keinen Erfolg, da sie nicht existiert.