Impossibile copiare file di grandi dimensioni su chiavetta USB ext2 [chiuso]


10

Ho una chiavetta USB 8G (sono su Linux Mint) e sto cercando di copiare un file 5.4G in esso, ma sto ottenendo

No space left on device

La dimensione del file copiato prima del fallimento è sempre 3.6G

Un'uscita dello stick montato mostra ..

df -T
/dev/sdc1      ext2       7708584    622604   6694404   9% /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe

df -h
/dev/sdc1       7.4G  608M  6.4G   9% /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe

du -h --max-depth=1
88K ./.ssh

ls -h myfile 
-rw-r--r-- 1 moo moo 5.4G May 26 09:35 myfile

Quindi un file 5.4G, non sembrerà andare su una chiavetta USB 8G. Pensavo che non ci fossero problemi con ext2, ed erano solo problemi con fat32 per dimensioni di file e chiavette USB? La modifica della formattazione potrebbe fare la differenza?

Modifica: ecco un rapporto di melodie per l'unità


sudo tune2fs -l /dev/sdd1

Filesystem volume name: Last mounted on: /media/moo/ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe Filesystem UUID: ba20d7ab-2c46-4f7a-9fb8-baa0ee71e9fe Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file Filesystem flags: signed_directory_hash Default mount options: (none) Filesystem state: not clean with errors Errors behavior: Continue Filesystem OS type: Linux Inode count: 489600 Block count: 1957884 Reserved block count: 97894 Free blocks: 970072 Free inodes: 489576 First block: 0 Block size: 4096 Fragment size: 4096 Reserved GDT blocks: 477 Blocks per group: 32768 Fragments per group: 32768 Inodes per group: 8160 Inode blocks per group: 510 Filesystem created: Mon Mar 2 13:00:18 2009 Last mount time: Tue May 26 12:12:59 2015 Last write time: Tue May 26 12:12:59 2015 Mount count: 102 Maximum mount count: 26 Last checked: Mon Mar 2 13:00:18 2009 Check interval: 15552000 (6 months) Next check after: Sat Aug 29 14:00:18 2009 Lifetime writes: 12 GB Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 256 Required extra isize: 28 Desired extra isize: 28 Default directory hash: half_md4 Directory Hash Seed: 249823e2-d3c4-4f17-947c-3500523479fd FS Error count: 62 First error time: Tue May 26 09:48:15 2015 First error function: ext4_mb_generate_buddy First error line #: 757 First error inode #: 0 First error block #: 0 Last error time: Tue May 26 10:35:25 2015 Last error function: ext4_mb_generate_buddy Last error line #: 757 Last error inode #: 0 Last error block #: 0


Potrebbe essere che tu oi tuoi strumenti siano confusi su GB contro GiB? E poiché è ext2, quanto spazio è riservato per root (per impostazione predefinita questo è 5%).
0xC0000022L,

Grazie, come posso sapere quanto spazio è riservato?
Ian,

@Ian Per visualizzare le informazioni sul file system, utilizzare:tune2fs -l /dev/<device>
Marco,

3
Il tuo file system presenta errori. Esegui fscksul file system e ispeziona / elimina il contenuto di lost+found. Si noti inoltre che 385MiB sono riservati per il root (97894 blocchi). Potresti voler regolare quel valore con tune2fs.
Marco,

1
Grazie mille, ora funziona. umount e sudo e2fsck / dev / sdd1 sembra averlo corretto (avevano errori di blocco rivendicati in molti casi, forse da errori precedenti in quanto menzionava lo stesso nome file). Se si desidera impostarlo come risposta, accetterà.
Ian,

Risposte:


9

La tua chiavetta da 8 GB ha circa 7,5 GiB e anche con un certo overhead del file system dovrebbe essere in grado di memorizzare il file 5.4GiB.

Si utilizza tune2fsper controllare lo stato e le proprietà del sistema di file:

tune2fs -l /dev/<device>

Per impostazione predefinita, il 5% dello spazio è riservato all'utente root. L'output elenca 97894 blocchi, che corrispondono a circa 385 MiB e sembrano essere il valore predefinito. Potresti voler regolare questo valore usando tune2fsse non hai bisogno di molto spazio riservato. Tuttavia, anche con quei 385MiB il file dovrebbe adattarsi al file system.

L' tune2fsoutput mostra un file system sporco con errori. Quindi, esegui fscksul file system. Ciò risolverà gli errori e probabilmente inserirà alcuni file nella lost+founddirectory. Puoi eliminarli se non hai intenzione di recuperare i dati.

Ciò dovrebbe correggere il file system e la copia del file avrà esito positivo.


-3

Ok, so di essere un utente Windows, non un utente Linux, ma ho avuto un problema simile qualche tempo fa quando provavo a copiare i file su un data stick 16Gig, per trasferirli da e verso un vecchio laptop. Come si è scoperto, la maggior parte dei formati di file system per dispositivi rimovibili (ext2, fat32 ecc.) Non supportano la copia di file se il file ha dimensioni superiori a 3,2 GB, a causa di uno spazio predefinito solitamente riservato a root e sistema file ecc ... Di solito ho ricevuto un errore che mi diceva che l'unità era piena (anche se era completamente vuota e formattata di recente).

Dopo aver fatto qualche ricerca, ho scoperto che il file system NTFS è il migliore per trasferire file di grandi dimensioni dal sistema allo stick, in quanto è l'unico file system che consente di copiare senza problemi file di dimensioni superiori a 3.2.

Non so se questo sarà di alcun aiuto, ma è sempre una possibile soluzione.


4
Purtroppo per voi ext2 in realtà fa di supporto tali file grandi e oltre il limite per FAT32 è 2 GB senza LFS, 4 GB e 256 GB con FAT32 con + ( fonte ).
0xC0000022L,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.