Tidak dapat menyalin file besar ke USB stick ext2 [ditutup]

10

Saya memiliki USB stick 8G (saya menggunakan linux Mint), dan saya mencoba menyalin file 5.4G ke dalamnya, tetapi saya mendapatkannya

No space left on device

Ukuran file dari file yang disalin sebelum gagal selalu 3.6G

Output dari stick yang dipasang menunjukkan ..

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

Jadi file 5.4G, sepertinya tidak akan menggunakan USB stick 8G. Saya pikir tidak ada masalah dengan ext2, dan itu hanya masalah dengan FAT32 untuk ukuran file dan usb stick? Apakah mengubah format akan membuat perbedaan?

Sunting: Ini adalah laporan dari tunef untuk drive


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

Ian
sumber
Mungkinkah Anda atau alat Anda bingung tentang GB versus GiB? Dan karena ext2, berapa banyak ruang yang disediakan untuk root (secara default ini adalah 5%).
0xC0000022L
Terima kasih, bagaimana saya bisa tahu berapa banyak ruang yang disediakan?
Ian
@Ian Untuk menampilkan informasi sistem file, gunakan:tune2fs -l /dev/<device>
Marco
3
Sistem file Anda memiliki kesalahan. Jalankan fsckpada sistem file dan periksa / hapus konten lost+found. Perhatikan juga bahwa 385MiB dicadangkan untuk root (97894 blok). Anda mungkin ingin menyesuaikan nilai itu dengan tune2fs.
Marco
1
Terima kasih banyak, ini sekarang berfungsi. umount dan sudo e2fsck / dev / sdd1 tampaknya telah memperbaikinya (memiliki kesalahan blok multiply-diklaim, mungkin dari kegagalan sebelumnya karena disebutkan nama file yang sama). Jika Anda ingin mengaturnya sebagai jawaban, akan menerima.
Ian

Jawaban:

9

Tongkat 8GB Anda memiliki sekitar 7,5 GiB dan bahkan dengan beberapa overhead sistem file harus dapat menyimpan file 5.4GiB.

Anda gunakan tune2fsuntuk memeriksa status dan properti sistem file:

tune2fs -l /dev/<device>

Secara default 5% ruang disediakan untuk pengguna root. Output Anda mencantumkan 97894 blok, yang sesuai dengan sekitar 385MiB dan tampaknya menjadi nilai default. Anda mungkin ingin menyesuaikan nilai ini menggunakan tune2fsjika Anda tidak membutuhkan banyak ruang yang dipesan. Namun demikian, bahkan dengan 385MiB itu file harus sesuai dengan sistem file.

tune2fsOutput Anda menunjukkan sistem file yang tidak bersih dengan kesalahan. Jadi silakan jalankan fsckdi sistem file. Ini akan memperbaiki kesalahan dan mungkin menempatkan beberapa file di lost+founddirektori. Anda dapat menghapusnya jika Anda tidak bermaksud memulihkan data.

Ini akan memperbaiki sistem file dan menyalin file akan berhasil.

Marco
sumber
-3

Oke, saya tahu saya pengguna Windows, bukan pengguna linux, tapi saya punya masalah serupa beberapa waktu lalu ketika mencoba menyalin file ke stik data 16Gig, untuk mentransfer ke dan dari laptop lama. Ternyata, sebagian besar format sistem file untuk perangkat yang dapat dilepas (ext2, fat32 dll), tidak mendukung menyalin file jika file lebih besar dari ukuran 3.2Gigs, karena beberapa ruang default biasanya disediakan untuk root dan sistem file dll ... Saya biasanya mendapat pesan kesalahan mengatakan drive itu penuh (meskipun itu benar-benar kosong dan baru diformat).

Setelah melakukan beberapa penelitian, saya menemukan bahwa sistem file NTFS adalah yang terbaik untuk mentransfer file besar dari sistem ke stick, karena itu adalah satu-satunya sistem file yang memungkinkan file yang lebih besar dari 3,2 untuk disalin tanpa masalah.

Tidak tahu apakah ini akan membantu, tetapi selalu merupakan solusi yang memungkinkan.

Solusi Raja
sumber
4
sayangnya untuk Anda ext2 benar-benar tidak mendukung file-file besar seperti dan selain batas untuk FAT32 adalah 2 GiB tanpa LFS, 4 GiB dengan dan 256 GiB dengan FAT32 + ( sumber ).
0xC0000022L