Linux gibt "Kein Speicherplatz auf dem Gerät" zurück, während Daten auf ein nicht volles USB-Flashlaufwerk kopiert werden

4715
Pierre

Ich versuche, eine Datei auf ein USB-Flashlaufwerk zu kopieren. Das Laufwerk verfügt nicht über einen Schreibschutzschalter.

df gibt folgendes:

$ df -h . Filesystem Size Used Avail Use% Mounted on /dev/sde1 1.9G 622M 1.3G 33% /media/lindenb/803C-078D 

df -i produziert seltsame Ausgabe für mich (0 überall)

$ df -i . Filesystem Inodes IUsed IFree IUse% Mounted on /dev/sde1 0 0 0 - /media/lindenb/803C-078D 

Anzahl der Dateien auf dem Laufwerk:

$ find . |wc -l 170 

Wenn ich jedoch versuche, eine Datei zu kopieren, erhalte ich Folgendes:

$ mv ~/file.txt ./ mv: cannot create regular file ‘./file.txt’: No space left on device 

Wie kann ich das beheben?

2
Haben Sie Windows, um dies zu testen, bevor Sie das USB-Laufwerk formatieren? Ich möchte wissen, ob dies vom Betriebssystem abhängig ist oder nicht Prasanna vor 9 Jahren 0
@Prasanna keine Fenster Pierre vor 9 Jahren 0
Jedes Mal, wenn ich es gesehen habe, war es vom Betriebssystem abhängig und variierte sogar mit verschiedenen Linux-Varianten - normalerweise finde ich, dass AntiX 13.2 nicht auf das Gerät schreiben kann, aber Kubuntu 14.04 kann. Ich bin mir ziemlich sicher, dass AntiX andere Dateisystemtreiber als Kubuntu verwendet (AntiX ist stark auf ein System mit wenig Ressourcen ausgelegt), was möglicherweise ein Teil des Problems ist. meine beiden anitX-Computer sind nur 32-bit, mein Kubuntu 64-bit. Zeiss Ikon vor 9 Jahren 0

2 Antworten auf die Frage

5
bwDraco

Das Stammverzeichnis eines FAT16-Dateisystems kann nur eine begrenzte Anzahl von Dateieinträgen speichern

  • Ihr Flash-Laufwerk ist 2 GB groß. Dies ist die maximale Dateisystemgröße, die von FAT16 unterstützt wird. Daher ist es wahrscheinlich, dass es ab Werk mit dem FAT16-Dateisystem formatiert wurde.

  • Aufgrund einer technischen Einschränkung im FAT16-Dateisystem darf nur eine begrenzte Anzahl von Dateieinträgen im Stammverzeichnis gespeichert werden. Diese Grenze wird festgelegt, wenn das Dateisystem formatiert wird ( Quelle ). Verzeichniseinträge (die Informationen zu langen Dateinamen enthalten können), jedoch nicht die Inhalte von Verzeichnissen, werden für dieses Limit berücksichtigt.

  • Um dieses Problem zu lösen, konvertieren Sie das Dateisystem in FAT32 . Unter Linux ist es möglicherweise am besten, alle Dateien an einen temporären Speicherort zu verschieben, das Laufwerk aufzuheben, mit FAT32 neu zu formatieren, das Laufwerk zu mkfs.vfat -F 32 /dev/sde1mounten und die Dateien zurückzuschieben.

Von Windows 8 erzeugte Fehlermeldung für ein vollständiges Stammverzeichnis auf einem FAT16-Volume

Ich habe keine Vertretung, die ich ablehnen würde, oder würde ich. Das Gerät verfügt über Inodes. Es handelt sich also eindeutig um ein ext2 / ext3 / ext4-Format. Zeiss Ikon vor 9 Jahren 0
@ZeissIkon: Die Inode-Zählung ist Null. Das Gerät enthält keine Inodes. http://superuser.com/questions/647343/zero-inodes-even-nach-formatierung-hard-disk bwDraco vor 9 Jahren 1
Die Dateien wurden mit http://askubuntu.com/questions/22381 neu formatiert. Es funktioniert jetzt. Pierre vor 9 Jahren 0
Und auch FAT32 hat seine Grenzen. :) Für mich wurde das Problem behoben, indem das Laufwerk von FAT32 auf NTFS formatiert wurde. Smile4ever vor 8 Jahren 0
0
Zeiss Ikon

Als ich das verstanden habe, stellte sich heraus, dass sich das USB-Gerät aus Gründen, die ich nie richtig verstanden hatte, in den schreibgeschützten Modus gesetzt hatte oder vom Betriebssystem als schreibgeschützt markiert wurde. Die einzige Möglichkeit, die ich zur Behebung dieses Problems gefunden habe, bestand darin, die Informationen auf dem Flash-Gerät zu sichern und die Partitionstabelle, die Partitionen und das Dateisystem neu zu erstellen. Unter Linux würden Sie dies mit fdisk oder einem Partitionseditor wie gparted oder KDE Partition Manager tun (das letzte Mal, als ich es tun musste, fdisk und gparted würden es aufgrund eines rekursiven Eintrags in der Partitionstabelle nicht anfassen, und ich musste es tun Führen Sie den Prozess zweimal in KDE Partition Manager aus, bevor er gebraucht wurde.