Nie można skopiować dużego pliku na pamięć USB ext2 [zamknięte]


10

Mam pamięć USB 8G (korzystam z Linuksa Mint) i próbuję skopiować do niej plik 5.4G, ale otrzymuję

No space left on device

Rozmiar pliku skopiowanego pliku przed niepowodzeniem wynosi zawsze 3,6G

Wydajność zamontowanego drążka pokazuje ..

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

Tak więc plik 5.4G nie wydaje się pasować na pamięć USB 8G. Myślałem, że nie ma problemów z ext2, a były to tylko problemy z fat32 dla rozmiarów plików i pamięci USB? Czy zmiana formatowania miałaby jakąkolwiek różnicę?

Edycja: Oto raport z tunefs dla dysku


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


Czy to możliwe, że ty lub twoje narzędzia jesteście zdezorientowani względem GB w porównaniu z GiB? A ponieważ jest to ext2, ile miejsca jest zarezerwowane dla roota (domyślnie jest to 5%).
0xC0000022L

Dzięki, jak mogę powiedzieć, ile miejsca jest zarezerwowane?
Ian

@Ian Aby wyświetlić informacje o systemie plików, użyj:tune2fs -l /dev/<device>
Marco

3
Twój system plików zawiera błędy. Uruchom fsckw systemie plików i sprawdź / usuń zawartość lost+found. Zauważ również, że 385MiB są zarezerwowane dla roota (97894 bloków). Możesz dostosować tę wartość za pomocą tune2fs.
Marco

1
Dziękuję bardzo, to teraz działa. umount i sudo e2fsck / dev / sdd1 wydaje się, że to naprawił (miał wielokrotnie zgłaszane błędy bloków, być może z poprzednich awarii, ponieważ wspomniał o tej samej nazwie pliku). Jeśli chcesz ustawić to jako odpowiedź, zaakceptuje.
Ian

Odpowiedzi:


9

Twój dysk 8 GB ma około 7,5 GiB i nawet przy pewnym obciążeniu systemu plików powinien być w stanie przechowywać plik 5.4GiB.

Używasz tune2fs, aby sprawdzić stan sytem plików i właściwości:

tune2fs -l /dev/<device>

Domyślnie 5% miejsca jest zarezerwowane dla użytkownika root. Twoje dane wyjściowe zawierają 97894 bloków, co odpowiada około 385 Mb i wydaje się być wartością domyślną. Możesz dostosować tę wartość za pomocą, tune2fsjeśli nie potrzebujesz tak dużo zarezerwowanego miejsca. Niemniej jednak, nawet z tymi 385MiB plik powinien pasować do systemu plików.

Twój tune2fswynik pokazuje nieczysty system plików z błędami. Więc uruchom fscksystem plików. To naprawi błędy i prawdopodobnie umieści niektóre pliki w lost+foundkatalogu. Możesz je usunąć, jeśli nie zamierzasz odzyskać danych.

To powinno naprawić system plików i kopiowanie pliku powiedzie się.


-3

Ok, wiem, że jestem użytkownikiem systemu Windows, a nie linuksem, ale miałem podobny problem jakiś czas temu, gdy próbowałem skopiować pliki na kartę danych 16Gig, aby przesłać do iz starego laptopa. Jak się okazało, większość formatów systemu plików dla urządzeń wymiennych (ext2, fat32 itp.) Nie obsługuje kopiowania plików, jeśli rozmiar pliku jest większy niż 3,2 GB, ponieważ niektóre domyślne miejsca są zwykle zarezerwowane dla root i systemu pliki itp. ... Zwykle pojawia się błąd informujący, że dysk jest pełny (mimo że był całkowicie pusty i świeżo sformatowany).

Po przeprowadzeniu pewnych badań odkryłem, że system plików NTFS najlepiej nadaje się do przesyłania dużych plików z systemu do pamięci, ponieważ jest to jedyny system plików, który umożliwia kopiowanie plików większych niż 3.2 bez żadnych problemów.

Nie wiem, czy to pomoże, ale zawsze jest to możliwe rozwiązanie.


4
niestety dla ciebie EXT2 faktycznie robi wsparcia takich dużych plików, a oprócz limitu FAT32 to 2 GiB bez LFS, 4 GiB zi 256 GiB z FAT32 + ( źródła ).
0xC0000022L
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.