Файл слишком велик linux
Обновлено: 05.07.2024
Я пытаюсь скопировать файл 6 ГБ на флэш-накопитель USB, но он не будет копироваться.
Это связано с ограничением FAT32. Файлы размером более 4 ГБ не могут быть сохранены на томе FAT32. Форматирование флешки как exFAT или NTFS решит эту проблему.
ВНИМАНИЕ: Резервное копирование ваших данных. Форматирование удалит все данные на вашем устройстве.
Если вы не хотите переформатировать USB-накопитель или вам нужен FAT32, вы можете просто разбить большой файл на части. Большинство менеджеров архивов поставляются с опцией split, а для командной строки split Например, для вашего случая:
Увидеть man split для полной документации. Это создаст следующие файлы:
Размер файла output.file.aa точно соответствует максимальному размеру файла вашего USB-накопителя в формате FAT32, который составляет 4 гибибайта (ГиБ, это не то же самое, что гигабайт ГБ) минус 1 байт.
Спасибо Gilles за это важное дополнение.
Прежде чем вы снова сможете получить доступ к файлу, вам нужно сначала объединить его части. В системах Linux вы можете сделать это с:
Если вы боитесь, что это может привести к неправильной сортировке файлов в Bash, гарантированно ли будут использоваться расширения с подстановочными знаками?
Соответствующая команда в системах Windows:
Наряду со многими другими полезными утилитами GNU split может быть установлен и в Windows, см. утилиты GNU для Win32.
Проблема: FAT32 имеет ограничение в 4 ГБ для размера файла
Различные сценарии и файловые системы рассматриваются в поисках альтернатив с учетом
- проблема с размером файла
- какие операционные системы должны читать / записывать USB-накопитель
Только Linux
Если вы намереваетесь использовать диск только с Ubuntu (и другими дистрибутивами Linux), рекомендуется использовать файловую систему Linux, например, ext4. Таким образом, вы можете получить более высокую скорость чтения / записи (в зависимости от того, какой процесс является узким местом), и вы получите более высокую гибкость в отношении владения и разрешений.
- Вы можете использовать программу с графическим интерфейсом gparted создать файловую систему ext4.
Полная совместимость с Linux, Windows и MacOS
У Windows проблемы с файловыми системами Linux, и я думаю, что у MacOS есть проблемы как с файловыми системами Linux, так и с NTFS. Поэтому, если вы хотите "полную совместимость" для чтения и записи, остаются только FAT32, UDF и exFAT.
FAT32 имеет ограничение в 4 ГБ (гибибайт, база 2) для размера файла.
- Может быть создан во всех трех операционных системах.
- Поддерживать (восстанавливать) в Windows, если у вас есть доступ к Windows.
Может поддерживаться в Ubuntu с dosfsck , который идет с пакетом dosfstools ,
где x - буква диска, а n - номер раздела, например /dev/sdb1 для первого раздела в диске б.
UDF, вероятно, не хватает инструментов для восстановления файловой системы,
- FOSS
- Может быть, можно найти инструменты восстановления в Windows по этой ссылке: fsck tools for UDF, и есть некоторый инструмент, доступный в виде исходного кода
- Может быть создан в Ubuntu
- Совместим со ссылками в стиле Linux.
- Совместим с разрешениями в стиле Linux. Вы можете создавать и изменять разрешения для отдельных файлов (что невозможно в FAT и NTFS).
- Раздел 10 UDF не будет запрошен для форматирования в Windows 10 (в то время как файловая система linux ext4 затронута и может быть уничтожена по ошибке).
Итак, чтобы использовать его, предполагая, что ваша флешка /dev/sdx :
Установить пакет udftools
Создать таблицу разделов и один раздел с gparted или же gnome-disks
Протрите первый мибибайт целевого раздела рискованным dd (перепроверьте командную строку!)
Протрите первый мибибайт раздела, чтобы стереть информацию о предыдущей файловой системе (или другие оставшиеся данные), чтобы предотвратить обнаружение USB-флешки как FAT после того, как она была отформатирована с помощью UDF.
-b 512 принудительно устанавливает размер блока файловой системы, равный размеру физического блока USB-накопителя, как того требует спецификация UDF. Адаптируйте его, если вам повезет с USB-накопителем с более подходящим размером блока.
После этого ваш USB-накопитель будет пригоден для чтения и записи с GNU/Linux и другими бесплатными операционными системами, но также с текущими версиями Windows (только для чтения с устаревшей версией XP) и с MacOS.
exFAT это еще один вариант. Это новый по сравнению с FAT32 и UDF и заявлено, чтобы работать хорошо
- изначально с Windows
- с MacOS
- с Linux
Подробнее о exFAT
Я начал тестировать exFAT в Ubuntu. Я намереваюсь отредактировать этот ответ, когда у меня будет больше опыта его использования. Давайте начнем со следующих ссылок,
ExFAT - это проприетарная файловая система Microsoft, оптимизированная для
встроенные системы, потому что она легкая и лучше подходит для решений с низким объемом памяти и низким энергопотреблением, а также может быть реализована во встроенном программном обеспечении.
и эта командная строка для установки поддержки [чтение / запись] для exFAT в Ubuntu
Может быть создан в Windows и MacOS и в Linux с помощью следующей командной строки
где x это буква диска и i например, номер раздела /dev/sdb1 ,
Может поддерживаться в Windows.
Мои первые результаты теста:
- Создание файловой системы exFAT хорошо работало в Ubuntu (16.04 LTS (64-bit), установленная система с ядром серии Xenial (4.4.0-93-generic), на сегодняшний день).
- Запись и чтение файла размером более 4 ГиБ были успешными. Ubuntu и exFAT работали правильно и быстро (я проверил с md5sum и скорость была ограничена системой USB).
- Ubuntu и Windows могли читать то, что было создано в другой операционной системе. (У меня нет MacOS для тестирования, и мне приходится полагаться на отчеты других людей.)
Windows
Поэтому, если вам нужен полный доступ для чтения / записи из Ubuntu и Windows, я бы предложил вам использовать NTFS, которая имеет журналирование и очень отлажена и отлажена как [проприетарная] файловая система для Windows. (Также возможно использовать exFAT.)
- В Ubuntu вы можете использовать программу с графическим интерфейсом gparted создать файловую систему NTFS.
- В Windows легко создавать файловые системы NTFS и exFAT (они являются родными).
MacOS
В MacOS можно использовать FAT32, UDF и exFAT.
Вы также можете использовать ext4 с обходным решением, Ubuntu Server с SSH-сервером на виртуальной машине. (Я думаю, что тот же обходной путь подойдет и для Windows.) Это может быть полезно, если вы собираетесь получить доступ ко многим файлам через диск и его файловую систему, но, вероятно, не с небольшим USB2-приводом.
Что делать, если файл слишком велик для конечной файловой системы
Если вам не важна файловая система накопителя
В случае, если файловая система флешки или диска для вас не принципиальна, вы можете просто отформатировать его в NTFS (данные будут потеряны, способ без потери данных описан далее).
- В проводнике Windows нажмите правой кнопкой мыши по накопителю, выберите пункт «Форматировать».
- Укажите файловую систему NTFS.
- Нажмите «Начать» и дождитесь завершения форматирования.
После того, как диск будет иметь файловую систему NTFS, ваш файл на него «поместится».
В том случае, когда нужно конвертировать накопитель из FAT32 в NTFS без потери данных, можно использовать сторонние программы (бесплатная Aomei Partition Assistant Standard умеет это и на русском языке) или использовать командную строку:
convert D: /fs:ntfs (где D — буква конвертируемого диска)
И уже после конвертирования скопировать необходимые файлы.
Если флешка или диск используется для ТВ или другого устройства, которое не «видит» NTFS
В ситуации, когда вы получаете ошибку «Файл слишком велик для конечной файловой системы» при копировании фильма или другого файла на флешку, используемую на устройстве (ТВ, iPhone и т.п.), которое не работает с NTFS, есть два способа решить проблему:
- Если это возможно (для фильмов обычно возможно), отыскать другой вариант этого же файла, который будет «весить» меньше 4 Гб.
- Попробовать отформатировать накопитель в ExFAT, с большой вероятностью он будет работать на вашем устройстве, а ограничения на размер файла не будет (точнее будет, но не то, с которым вы сможете столкнуться).
Когда требуется создать загрузочную флешку UEFI, а образ содержит файлы больше 4 Гб
Как правило, при создании загрузочных флешек для систем UEFI используется файловая система FAT32 и нередко случается, что не удается записать файлы образа на флешку, если он содержит install.wim или install.esd (если речь о Windows) более 4 Гб.
Решить это можно следующими методами:
- Rufus умеет записывать флешки UEFI в NTFS (подробнее: загрузочная флешка в Rufus 3), но потребуется отключить Secure Boot. умеет разбивать файлы больше 4 Гб на файловой системе FAT32 и «собирать» их уже при установке. Функция заявлена в версии 1.6 beta Сохранилось ли она в более новых версиях — не скажу, но с официального сайта можно загрузить именно указанную версию.
Если нужно сохранить файловую систему FAT32, но записать файл на накопитель
В случае, когда нельзя выполнить никаких действий по преобразованию файловой системы (накопитель нужно оставить в FAT32), файл требуется записать и это не видео, которое можно было бы найти в меньшем размере, вы можете разбить этот файл с помощью любого архиватора, например, WinRAR, 7-Zip, создав многотомный архив (т.е. файл будет разбит на несколько архивов, которые после распаковки снова станут одним файлом).
Более того, в 7-Zip можно и просто разбить файл на части, без архивации, а в дальнейшем, когда это будет необходимо, соединить их в один исходный файл.
Надеюсь, предложенные способы подойдут в вашем случае. Если же нет — опишите ситуацию в комментарии, я постараюсь помочь.
Читайте также: