Невозможно скопировать большой файл на карту памяти usb ext2 [закрыто]

10

У меня есть USB-флешка 8G (я на Linux Mint), и я пытаюсь скопировать в нее файл 5.4G, но получаю

No space left on device

Размер файла скопированного файла до сбоя всегда составляет 3,6 ГБ.

Вывод смонтированной флешки показывает ..

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

Таким образом, файл 5.4G, похоже, не идет на USB-флешку 8G. Я думал, что не было проблем с ext2, и это были только проблемы с fat32 для размеров файлов и флешек? Будет ли изменение форматирования иметь какое-либо значение?

Редактировать: вот отчет от tunefs для диска


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

Ян
источник
Может ли быть так, что вы или ваши инструменты не понимаете, что такое GB или GiB? А так как это ext2, сколько места зарезервировано для root (по умолчанию это 5%).
0xC0000022L
Спасибо, как я могу узнать, сколько места зарезервировано?
Ян
@Ian Для отображения информации о файловой системе используйте:tune2fs -l /dev/<device>
Marco
3
В вашей файловой системе есть ошибки. Запустите fsckв файловой системе и проверьте / удалите содержимое lost+found. Также обратите внимание, что 385MiB зарезервированы для root (97894 блоков). Вы можете настроить это значение с помощью tune2fs.
Марко
1
Большое спасибо, теперь это работает. umount и sudo e2fsck / dev / sdd1, кажется, исправили это (имели многократно заявленные ошибки блока, возможно, из-за предыдущих сбоев, поскольку в нем упоминалось то же имя файла). Если вы хотите установить его в качестве ответа, примите.
Ян

Ответы:

9

Ваша флешка объемом 8 ГБ имеет примерно 7,5 ГБ и даже при некоторых накладных расходах файловой системы должна иметь возможность хранить файл 5,4 ГБ.

Вы используете tune2fsдля проверки состояния и свойств файловой системы:

tune2fs -l /dev/<device>

По умолчанию 5% пространства зарезервировано для пользователя root. Ваш вывод перечисляет 97894 блоков, что соответствует примерно 385 МБ и кажется значением по умолчанию. Возможно, вы захотите изменить это значение, используя, tune2fsесли вам не нужно так много зарезервированного пространства. Тем не менее, даже с этими 385 МБ файл должен уместиться в файловой системе.

Ваш tune2fsвывод показывает нечистую файловую систему с ошибками. Поэтому, пожалуйста, запустите fsckв файловой системе. Это исправит ошибки и, возможно, поместит некоторые файлы в lost+foundкаталог. Вы можете удалить их, если вы не собираетесь восстанавливать данные.

Это должно исправить файловую систему, и копирование файла будет успешным.

Marco
источник
-3

Хорошо, я знаю, что я пользователь Windows, а не пользователь Linux, но у меня была похожая проблема некоторое время назад, когда я пытался скопировать файлы на 16-гигабайтную карту данных, чтобы перенести их на старый ноутбук и обратно. Как выяснилось, большинство форматов файловой системы для съемных устройств (ext2, fat32 и т. Д.) Не поддерживают копирование файлов, если размер файла превышает 3,2 ГБ, поскольку некоторое пространство по умолчанию обычно резервируется для root и system. файлы и т. д. Я обычно получаю сообщение об ошибке, сообщающее, что диск был переполнен (хотя он был полностью пустым и только что отформатирован).

Проведя некоторые исследования, я обнаружил, что файловая система NTFS лучше всего подходит для передачи больших файлов из системы на флешку, поскольку это единственная файловая система, которая позволяет копировать файлы размером более 3,2 без каких-либо проблем.

Не знаю, поможет ли это, но это всегда возможное решение.

King's Solutions
источник
4
к сожалению для вас ВНЕШНИЙ 2 фактически делает поддержку такие большие файлы и , кроме предела для FAT32 составляет 2 Гигабайт без LFS, 4 Гигабайт с и 256 Гигабайт с файловой системой FAT32 + ( источник ).
0xC0000022L