Как скопировать файл размером более 4 ГБ на USB-накопитель?

Я пытаюсь скопировать файл размером 6 ГБ на USB-накопитель, но он не копируется.


Это связано с ограничением FAT32. Файлы размером более 4 ГБ не могут храниться на томе FAT32. Форматирование флэш-накопителя как exFAT или NTFS решит эту проблему.

ВНИМАНИЕ: сделайте резервную копию ваших данных. Форматирование удалит все данные на вашем устройстве.


95

Если вы не хотите переформатировать USB-накопитель или вам нужна FAT32, вы можете просто разделить большой файл на части. Большинство менеджеров архивов поставляются с опцией разделения, а для командной строки есть split , например для вашего случая:

  split -b4294967295/path/to/input.file/path/to/pen/drive/output.file.  

См. man split для получения полной документации. Это создаст следующие файлы:

  4,0G output.file.  aa1,6G output.file.ab  

Размер файла output.file.aa точно соответствует максимальному размеру файла вашего USB-накопителя, отформатированного в FAT32. , что составляет 4 гибибайта (ГиБ, это не то же самое, что и гигабайт ГБ) минус 1 байт .
Спасибо Жилю за это важное дополнение.


Прежде чем вы снова сможете получить доступ к файлу, вам необходимо объединить сначала его части. В системах Linux это можно сделать с помощью:

  cat output.file. *> Input.file  

Если вы боитесь, что это может отсортировать файлы, неправильно прочитанные в Bash, гарантированно ли будет порядок подстановочных знаков?
Соответствующая команда в системах Windows:

  copy/b output.file.aa + output.file.ab input.file  

Наряду со многими другими полезными утилитами GNU split также можно установить в Windows, см. Утилиты GNU для Win32.

Поделиться
Улучшить этот ответ
отредактировано 30 декабря ’17 в 21:34
4 сен ’17 в 17:11
  • 2
    Готов поспорить, половина положительных голосов, которые я здесь получаю, приходится только на гигабайты и гигабайты. 😉 — десерт 05 сен 2017, в 13:04
  • 2
    Я бы проголосовал за split , даже без различия между гигабайтами и гигабайтами. Но я пришлю за это парня … — Zeiss Ikon 05 сен 2017, 13:16
  • 1
    @dessert Я ожидал, что вы получите всего около 7. На 4% больше голосов. — Элиа Каган, 06 сен. ’17 в 8:21
  • 1
    Я проголосовал за, потому что переформатирование диска только для того, чтобы можно было переместить один большой файл, — ужасный ответ, когда split существует именно для этой цели и не требуется на принимающей стороне . FAT32 не зря является языком USB-накопителей. — Монти Хардер 06 сен 2017, в 18:06
  • Я думаю, что -b 4095M было бы намного проще и добиться того же результата, что и команда bc . В Bash можно также использовать арифметику оболочки: $ (((4 . - Дэвид Ферстер 30 дек. '17 в 20:23
добавить комментарий |

Если вы не хотите переформатировать USB-накопитель или ему нужна FAT32, вы можете просто разделить твой большой файл на части. Большинство менеджеров архивов поставляются с опцией разделения, а для командной строки есть split , например для вашего случая:

  split -b4294967295/path/to/input.file/path/to/pen/drive/output.file.  

См. man split для получения полной документации. Это создаст следующие файлы:

  4,0G output.file.  aa1,6G output.file.ab  

Размер файла output.file.aa точно соответствует максимальному размеру файла вашего USB-накопителя, отформатированного в FAT32. , что составляет 4 гибибайта (ГиБ, это не то же самое, что и гигабайт ГБ) минус 1 байт .
Спасибо Жилю за это важное дополнение.


Прежде чем вы снова сможете получить доступ к файлу, вам необходимо объединить сначала его части. В системах Linux это можно сделать с помощью:

  cat output.file. *> Input.file  

Если вы боитесь, что это может отсортировать файлы, неправильно прочитанные в Bash, гарантированно ли будет порядок подстановочных знаков?
Соответствующая команда в системах Windows:

  copy/b output.file.aa + output.file.ab input.file  

Наряду со многими другими полезными утилитами GNU split также можно установить в Windows, см. Утилиты GNU для Win32.


43

Проблема: FAT32 имеет ограничение в 4 ГБ для размера файла

Рассматриваются различные сценарии и файловые системы в поисках альтернатив с учетом

  • проблема с размером файла
  • какие операционные системы должны читать/записывать USB-накопитель

Только Linux

Если вы собираетесь использовать диск только с Ubuntu (и другие дистрибутивы Linux) рекомендуется использовать файловую систему Linux , например ext4 . Таким образом вы можете получить более высокую скорость чтения/записи (в зависимости от того, какой процесс является узким местом), и вы получите большую гибкость в отношении владения и разрешений.

  • Вы можете использовать графический интерфейс программа gparted для создания файловой системы ext4 .

Full совместимость с Linux, Windows и MacOS

У Windows есть проблемы с файловыми системами linux, и я думаю, что у MacOS есть проблемы как с файловыми системами linux, так и с NTFS . Поэтому, если вам нужна «полная совместимость» для чтения и записи, останутся только FAT32 , UDF и exFAT .

  • FAT32 имеет ограничение на размер файла в 4 ГБ (гибибайт, основание 2).

  • Может быть создан во всех трех операционных системах.

  • Поддерживать (восстанавливать) в Windows, если у вас есть доступ к Windows.

  • Может поддерживаться в Ubuntu с помощью dosfsck , который поставляется с пакетом dosfstools ,

      sudo apt-get install dosfstools sudo dosfsck -a/dev/sdxn # наименее разрушительный вариант sudo dosfsck -r/dev/sdxn  # более мощный вариант  

    где x — буква диска, а n — номер раздела, например /dev/sdb1 для первого раздела в диск b.

  • exFAT — другой вариант. Это новый вариант по сравнению с FAT32 и UDF и заявил, что хорошо работать

  • изначально с Windows

  • с MacOS

  • с Linux

Подробнее о exFAT

Я начал тестировать exFAT в Ubuntu. Я намерен отредактировать этот ответ, когда у меня будет больше опыта его использования. Давайте начнем со следующих

  • en.wikipedia.org/wiki/ExFAT

ExFAT — это проприетарная файловая система Microsoft, оптимизированная для

 > встраиваемых систем, поскольку она легкая и лучше подходит для> решений.  которые имеют низкий объем памяти и низкое энергопотребление и могут быть> реализованы в прошивке.  
  • Как получить диск, отформатированный с помощью exfat, работающего (в Ubuntu)

и эту командную строку для установки поддержки [чтения/записи] для exFAT в Ubuntu

   sudo apt-get install exfat-utils exfat-fuse  
  • Может быть создан в Windows и MacOS и в Linux следующей командной строкой

      sudo mkfs.exfat -n ВАШ-ЭТИКЕТКА/dev/sdxi  

, где x — буква диска, а i — номер раздела, например /dev/sdb1 .

  • Может поддерживаться в Windows.

Мои первые результаты тестирования :

  • Создание файловой системы exFAT сработало хорошо в Ubuntu (16. 04 LTS (64-разрядная версия), установлена ​​система с серией ядер 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 файловые системы (они собственные).


  • UDF , вероятно, не имеет инструментов для восстановления файловой системы,

  • FOSS

  • Возможно, можно найти инструменты восстановления в Windows по этой ссылке: инструменты fsck для UDF, и есть какой-то инструмент, доступный в виде исходного кода

  • Может быть создан в Ubuntu

  • Совместим со ссылками в стиле Linux.

  • Совместим с разрешения в стиле linux. Вы можете создавать и изменять разрешения для отдельных файлов (что невозможно с FAT и NTFS).

  • Раздел UDF не будет запрашивать форматирование в Windows 10 (в то время как файловая система linux ext4 затронута и может быть уничтожена по ошибке).

  • Как создать и использовать UDF: Использование UDF в качестве преемника FAT для USB-накопителей

    Итак, чтобы использовать его, если ваш USB-накопитель /dev/sdx:

  1. Установите пакет udftools

      sudo apt-get install udftools  
  2. Создайте таблицу разделов и один раздел с помощью gparted или gnome-disks

  3. Сотрите первый мибибайт целевого раздела с помощью рискованного dd (дважды проверьте командную строку!)

      sudo dd if =/dev/zero of =/dev/sdx1 bs = 1M count =  1  
  4. Запустить mkudffs g>,

      sudo mkudffs -b 512 --media-type = hd --lvid = my-label/dev/sdx1  

    Сотрите первый мибибайт раздела, чтобы стереть информацию о предыдущей файловой системе (или другие оставшиеся данные), чтобы USB-накопитель не распознавался как FAT после форматирования с помощью UDF.

    -b 512 — принудительно установить размер блока файловой системы, равный размеру физического блока USB-накопителя, как того требует спецификация UDF.. Адаптируйте его, если вам повезло, что у вас есть USB-накопитель с более подходящим размером блока.

    После этого ваш USB-накопитель можно будет использовать для чтения и записи в GNU/Linux, а также в текущих версиях Windows (только чтение с устаревшей версией XP). К сожалению, эта версия UDF, созданная в Linux, не может управляться MacOS (протестирована в нескольких версиях MacOS в ноябре 2020 года).

MacOS

В MacOS можно использовать FAT32 и exFAT .

Вы также можете использовать ext4 с обходным путем: сервер Ubuntu с сервером SSH на виртуальной машине . (Я думаю, что тот же обходной путь будет работать и с Windows.) Это может оказаться полезным, если вы собираетесь получить доступ к большому количеству файлов через диск и его файловую систему, но, вероятно, не с помощью небольшого USB2-накопителя.

См. эту ссылку

Использование ext4 в OS X Yosemite, долгий, но безопасный путь

Поделиться
Улучшить этот ответ
отредактировано 17 ноября ’20 в 8:33
4 сен 2017 в 17:01
  • 3
    AFAIR Windows XP не может записывать тома UDF. Сейчас это не такая уж большая проблема, но на всякий случай стоит отметить. — gronostaj 4 сен. ’17 в 18:12
  • 2
    macOS по умолчанию монтирует все как NTFS, доступную только для чтения (я полагаю, Apple не считает, что поддержка записи NTFS достаточно надежна.) — gsnedders 5 сен 2017, 02:55
  • 1
    @gsnedders Я думаю, они просто не верят в Windows. — wizzwizz4 05 сен 2017, в 18:22
  • 2
    @sudodus Лично у меня не было проблем со всем, от тяжелого управления разделами NTFS до управления потоками из Debian, но я ценю безопасность с данными. Кроме того, у меня есть резервная копия , поэтому не имеет значения, потеряю ли я старые данные (я могу просто скопировать их из резервной копии). — wizzwizz4 5 сен 2017, в 18:33
  • 2
    Примечание: вы можете без проблем использовать exfat на MacOS (он даже может отформатировать диск как exfat). exfat также становится стандартом по умолчанию для больших флеш-дисков/карт памяти.. — SztupY 05 сен 2017, в 12:12
| показать 7 дополнительных комментариев

Проблема: FAT32 имеет ограничение в 4 ГБ для размера файла

Различные сценарии и файловые системы исследуются в поисках альтернатив, принимая во внимание

  • проблему размера файла
  • , какие операционные системы должны читать /записать USB-накопитель

Только Linux

Если вы собираетесь использовать накопитель только с Ubuntu (и другими дистрибутивами Linux), это хороший идея использовать файловую систему linux , например ext4 . Таким образом вы можете получить более высокую скорость чтения/записи (в зависимости от того, какой процесс является узким местом), и вы получите большую гибкость в отношении владения и разрешений.

  • Вы можете использовать графический интерфейс программа gparted для создания файловой системы ext4 .

Full совместимость с Linux, Windows и MacOS

У Windows есть проблемы с файловыми системами linux, и я думаю, что у MacOS есть проблемы как с файловыми системами linux, так и с NTFS . Поэтому, если вам нужна «полная совместимость» для чтения и записи, останутся только FAT32 , UDF и exFAT .

  • FAT32 имеет ограничение на размер файла в 4 ГБ (гибибайт, основание 2).

  • Может быть создан во всех трех операционных системах.

  • Поддерживать (восстанавливать) в Windows, если у вас есть доступ к Windows.

  • Может поддерживаться в Ubuntu с помощью dosfsck , который поставляется с пакетом dosfstools ,

      sudo apt-get install dosfstools sudo dosfsck -a/dev/sdxn # наименее разрушительный вариант sudo dosfsck -r/dev/sdxn  # более мощный вариант  

    где x — буква диска, а n — номер раздела, например /dev/sdb1 для первого раздела в диск b.

  • exFAT — другой вариант. Это новый вариант по сравнению с FAT32 и UDF и заявил, что хорошо работать

  • изначально с Windows

  • с MacOS

  • с Linux

Подробнее о exFAT

Я начал тестировать exFAT в Ubuntu. Я намерен отредактировать этот ответ, когда у меня будет больше опыта его использования. Давайте начнем со следующих

  • en.wikipedia.org/wiki/ExFAT

ExFAT — это проприетарная файловая система Microsoft, оптимизированная для

 > встраиваемых систем, поскольку она легкая и лучше подходит для> решений.  которые имеют низкий объем памяти и низкое энергопотребление и могут быть> реализованы в прошивке.  
  • Как получить диск, отформатированный с помощью exfat, работающего (в Ubuntu)

и это командная строка для установки поддержки [чтения/записи] для exFAT в Ubuntu

  sudo apt-get install exfat-utils exfat-fuse  
  • Может быть создано в Windows и MacOS и в Linux с помощью следующей командной строки

       sudo mkfs.exfat -n ВАША-МЕТКА/dev/sdxi  

где x — буква диска, а i — номер раздела, например /dev/sdb1 .

  • Может поддерживаться в Windows.

Мои первые результаты тестирования :

  • Создание exFAT файловая система хорошо работала в Ubuntu (16.04 LTS (64-разрядная версия), установленная система с ядром серии 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 файловые системы (они собственные).


  • UDF , вероятно, не имеет инструментов для восстановления файловой системы,

  • FOSS

  • Возможно, можно найти инструменты восстановления в Windows по этой ссылке: инструменты fsck для UDF, и есть какой-то инструмент, доступный в виде исходного кода

  • Может быть создан в Ubuntu

  • Совместим со ссылками в стиле Linux.

  • Совместим с разрешения в стиле linux. Вы можете создавать и изменять разрешения для отдельных файлов (что невозможно с FAT и NTFS).

  • Раздел UDF не будет запрашивать форматирование в Windows 10 (в то время как файловая система linux ext4 затронута и может быть уничтожена по ошибке).

  • Как создать и использовать UDF: Использование UDF в качестве преемника FAT для USB-накопителей

    Итак, чтобы использовать его , если ваш USB-накопитель /dev/sdx:

  1. Установите пакет udftools

      sudo apt-get install udftools  
  2. Создайте таблицу разделов и один раздел с помощью gparted или gnome-disks

  3. Сотрите первый мибибайт целевого раздела с помощью рискованного dd (дважды проверьте командную строку!)

      sudo dd if =/dev/zero of =/dev/sdx1 bs = 1M count = 1  
  4. Запустите mkudffs ,

      sudo mkudffs -b 512 --media-type  = hd --lvid = my-label/dev/sdx1  

    Сотрите первый мибибайт раздела, чтобы стереть информацию о предыдущей файловой системе (или другие оставшиеся данные), чтобы вы не USB-накопитель не определяется как FAT после форматирования с помощью UDF.

    -b 512 — принудительно установить размер блока файловой системы, равный размеру физического блока USB-накопителя, при необходимости. по спецификации UDF. Адаптируйте его, если вам повезло, что у вас есть USB-накопитель с более подходящим размером блока.

    После этого ваш USB-накопитель можно будет использовать для чтения и записи в GNU/Linux, а также в текущих версиях Windows (только чтение с устаревшей версией XP). К сожалению, эта версия UDF, созданная в Linux, не может управляться MacOS (протестирована в нескольких версиях MacOS в ноябре 2020 года).

MacOS

В MacOS можно использовать FAT32 и exFAT .

Вы также можете использовать ext4 с обходным путем: сервер Ubuntu с сервером SSH на виртуальной машине . (Я думаю, что тот же обходной путь будет работать и с Windows.) Это может оказаться полезным, если вы собираетесь получить доступ к большому количеству файлов через диск и его файловую систему, но, вероятно, не с помощью небольшого USB2-накопителя.

См. эту ссылку,

Использование ext4 в OS X Yosemite, долгий, но безопасный путь


11

Имея аналогичную проблему и не желая переформатировать USB-накопитель, я просто использовал архиватор. Более или менее все современные графические интерфейсы (например, File Roller, 7Zip и т. Д.) Или интерфейсы командной строки позволяют разделить файл архива. Установите предел разделения ниже границы FAT (это примерно 4 ГБ), для скорости вы можете выбрать низкую степень сжатия, даже «хранить», т.е. не сжимать вообще, вуаля!

Поделиться
Улучшить этот ответ
отредактировал 4 сен 2017 в 23:29
wjandrea
12. 1k44 золотых знака3939 серебряных знаков8181 бронзовый знак
ответ дан 4 сен ’17 в 17:30
добавить комментарий |

Имея похожую проблему и не желая переформатировать USB-накопитель, я просто использовал архиватор. Более или менее все современные графические интерфейсы (например, File Roller, 7Zip и т. Д.) Или интерфейсы командной строки позволяют разделить файл архива. Установите предел разделения ниже границы FAT (это примерно 4 ГБ), для скорости вы можете выбрать низкую степень сжатия, даже «сохранить», т.е. не сжимать вообще, вуаля!


5

Если у вас есть доступ к машине Windows, вы можете преобразовать файловую систему USB-накопителя без форматирование. Вы должны использовать командную строку Windows следующим образом: нажмите Win + R , введите cmd -> OK в в открытом окне введите команду convert X:/FS: ntfs , где X: — это буква для подключенной USB-флешки. Менее чем через минуту он готов. Наслаждайтесь.

Поделиться
Улучшите этот ответ
отредактировал 5 сен ’17 в 12:38
ответил 5 сен 2017 в 07:11
  • 2
    Этот метод может быть полезен 🙂 Но преобразование файловой системы может быть рискованным, поэтому я бы рекомендовал сделать резервную копию всего важного на USB-накопитель перед преобразованием. Кстати, а вы этим методом пользовались? Сохраняет ли он файлы? Работает ли еще и с/с exfat? — Sudodus 05 сен 2017 в 12:55
  • 1
    Я использовал этот метод несколько раз, все файлы были доступны для чтения после этой процедуры. Эта утилита работает только для преобразования в NTFS, а не наоборот. — М. Дм. 5 сен ’17 в 14:34
добавить комментарий |

Если у вас есть доступ к машине Windows, вы можете преобразовать файловую систему USB-накопителя без форматирования. Вы должны использовать командную строку Windows следующим образом : нажмите Win + R , введите cmd -> OK , в открывшемся окне введите команду convert X:/FS: ntfs , где X: — это буква подключенного USB-накопителя. Менее чем через минуту он готов. наслаждаться.


2

Переформатирование или использование разделения — отличные варианты , или вы можете попробовать использовать zip для сжатия файла, просто знайте, что некоторые файлы уже сжаты, поэтому их сжатие сделает их больше. (Также вы можете потерять право собственности на файл, временные метки и т. Д.)

Поделиться
Улучшить этот ответ
отредактировано 6 сентября ’17 в 19:51
ответил 06 сен 2017 в 18:50
добавить комментарий |

Переформатирование или использование разделения — отличные варианты, или вы можете попробовать использовать zip для сжатия файла, просто знайте, что некоторые файлы уже сжаты, поэтому застегнув их, они станут больше. (Также вы можете потерять право собственности на файл, временные метки и т. Д.)

Оцените статью
Botgadget.ru
Добавить комментарий