Нельзя хранить файлы размером более 4 Гб в файловой системе FAT. Барьер размером 4 ГБ - это жесткий предел FAT: файловая система использует 32-битное поле для хранения размера файла в байтах, а 2^32 байта = 4 ГБ (на самом деле реальный предел составляет 4 ГБ минус один байт, или 4 294 967 295 байт, потому что можно иметь файлы нулевой длины). Таким образом, вы не можете скопировать файл размером более 4 Гигабайт на любой простой том FAT. exFAT решает эту проблему используя 64-битное поле для хранения размера файла , но это не очень помогает, так как требует переформатирования раздела.
Однако, если вы разрезаете файл на несколько файлов и перекомбинируете их позже, это позволит вам перенести все данные, просто не как один файл (так что, скорее всего, вам придется перекомбинировать файл, прежде чем он будет полезен). Например, под Linux можно сделать что-то похожее на:
$ truncate -s 6G my6gbfile
$ split --bytes=2GB --numeric-suffixes my6gbfile my6gbfile.part
$ ls
my6gbfile my6gbfile.part00 my6gbfile.part01
my6gbfile.part02 my6gbfile.part03
$
Здесь я использую truncate
для создания разреженного файла размером 6 Гигабайт. (Просто подмените свои.) Затем я разбиваю их на сегменты размером примерно 2 Гб каждый; последний сегмент меньше, но это не представляет проблемы в любой ситуации, которую я могу придумать. Вы также можете вместо --bytes=2GB
использовать --number=4
, если хотите разделить файл на четыре равных по размеру куска; размер каждого куска в этом случае будет 1 610 612 736 байт или около 1.6 Гигабайт.
Для их объединения используйте cat
(concat
enate):
$ cat my6gbfile.part* > my6gbfile.recombined
Подтвердите, что они идентичны:
$ md5sum --binary my6gbfile my6gbfile.recombined
58cf638a733f919007b4287cf5396d0c *my6gbfile
58cf638a733f919007b4287cf5396d0c *my6gbfile.recombined
$
Это можно использовать с любым максимальным ограничением по размеру файла.
Многие архиваторы файлов также поддерживают разбиение файла на многокомпонентные архивные файлы; ранее это использовалось для размещения больших архивов на дискетах, но в наши дни это также может быть использовано для преодоления ограничений максимального размера файла, как эти. Файловые архиваторы также обычно поддерживают режим “хранить” или “не сжимать”, который может быть использован, если вы знаете, что содержимое файла не может быть полезным для дальнейшего безубыточного сжатия, как это часто бывает с уже сжатыми архивами, фильмами, музыкой и т.д.; при использовании такого режима сжатый файл просто действует как контейнер, давая вам возможность разбиения файла на части, а фактические данные просто копируются в архивный файл, экономя на времени на обработку.