Я пытаюсь скопировать файл 6 ГБ на флэш-накопитель USB, но он не будет копироваться.
Я пытаюсь скопировать файл 6 ГБ на флэш-накопитель USB, но он не будет копироваться.
Ответы:
Это связано с ограничением FAT32. Файлы размером более 4 ГБ не могут быть сохранены на томе FAT32. Форматирование флешки как exFAT или NTFS решит эту проблему.
ВНИМАНИЕ: Резервное копирование ваших данных. Форматирование удалит все данные на вашем устройстве.
ext3
тоже вариант
Если вы не хотите переформатировать USB-накопитель или вам нужен FAT32, вы можете просто разбить большой файл на части. Большинство менеджеров архивов поставляются с опцией split и для командной строки split
, например, для вашего случая:
split -b4294967295 /path/to/input.file /path/to/pen/drive/output.file.
Смотрите man split
для полной документации. Это создаст следующие файлы:
4,0G output.file.aa
1,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 .
split
даже без различия между GiB и GB. Но я пришлю для этого адвоката ...
split
существует именно для этой цели и не требуется для принимающей стороны. FAT32 - это лингва франка USB-накопителей по определенной причине.
-b 4095M
, будет гораздо проще и добиться того же, что и bc
команда. В Bash один также может использовать оболочки арифметическое: $(((4<<30)-1))
.
Различные сценарии и файловые системы рассматриваются в поисках альтернатив с учетом
Если вы намереваетесь использовать диск только с Ubuntu (и другими дистрибутивами Linux), рекомендуется использовать файловую систему Linux , например, ext4 . Таким образом, вы можете получить более высокую скорость чтения / записи (в зависимости от того, какой процесс является узким местом), и вы получите более высокую гибкость в отношении владения и разрешений.
gparted
с графическим интерфейсом для создания файловой системы ext4 .У Windows проблемы с файловыми системами Linux, и я думаю, что у MacOS есть проблемы как с файловыми системами Linux, так и с NTFS . Поэтому, если вы хотите «полную совместимость» для чтения и записи, остаются только FAT32 , UDF и exFAT .
FAT32 имеет ограничение в 4 ГБ (гибибайт, база 2) для размера файла.
Может поддерживаться в Ubuntu dosfsck
с помощью пакета dosfstools
,
sudo apt-get install dosfstools
sudo dosfsck -a /dev/sdxn # least destructive option
sudo dosfsck -r /dev/sdxn # more powerful option
где x - буква диска, а n - номер раздела, например, /dev/sdb1
для первого раздела на диске b.
UDF, вероятно, не хватает инструментов для восстановления файловой системы,
Как создать и использовать UDF: Использование UDF в качестве преемника FAT для USB-накопителей
Итак, чтобы использовать его, предполагая, что ваша флешка /dev/sdx
:
Установить пакет udftools
sudo apt-get install udftools
Создать таблицу разделов и один раздел с gparted
илиgnome-disks
Протрите первый мибибайт целевого раздела с рисковым dd
(перепроверьте командную строку!)
sudo dd if=/dev/zero of=/dev/sdx1 bs=1M count=1
Беги 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) и с MacOS.
exFAT это еще один вариант. Это новый по сравнению с FAT32 и UDF и заявлено, чтобы работать хорошо
Я начал тестировать exFAT в Ubuntu. Я намереваюсь отредактировать этот ответ, когда у меня будет больше опыта его использования. Давайте начнем со следующих ссылок ,
ExFAT - это проприетарная файловая система Microsoft, оптимизированная для
встроенные системы, потому что она легкая и лучше подходит для решений с низким объемом памяти и низким энергопотреблением, а также может быть реализована во встроенном программном обеспечении.
Как получить диск отформатированный с exfat работает (в Ubuntu)
и эта командная строка для установки поддержки [чтение / запись] для exFAT в Ubuntu
sudo apt-get install exfat-utils exfat-fuse
Может быть создан в Windows и MacOS и в Linux с помощью следующей командной строки
sudo mkfs.exfat -n YOUR-LABEL /dev/sdxi
где , например, x
буква диска и i
номер раздела /dev/sdb1
.
Может поддерживаться в Windows.
Мои первые результаты теста :
md5sum
и скорость была ограничена системой USB).Поэтому, если вы хотите получить полный доступ для чтения / записи из Ubuntu и Windows, я бы предложил вам использовать NTFS с журналированием, которая очень отлажена и отлажена как [проприетарная] файловая система для Windows. (Также возможно использовать exFAT .)
gparted
с графическим интерфейсом для создания файловой системы NTFS.В MacOS можно использовать FAT32 , UDF и exFAT .
Вы также можете использовать ext4 с обходным решением, Ubuntu Server с SSH-сервером на виртуальной машине . (Я думаю, что тот же обходной путь подойдет и для Windows.) Это может быть полезно, если вы собираетесь получить доступ ко многим файлам через диск и его файловую систему, но, вероятно, не с небольшим USB2-приводом.
Смотрите эту ссылку,
Использование ext4 на OS X Yosemite, длинный, но безопасный способ
Из-за проблемы с симуляцией и нежелания переформатировать флешку, я просто использовал архиватор. Более или менее все современные графические интерфейсы (такие как File Roller, 7Zip и т. Д.) Или CLI позволяют разбивать архивный файл. Установите предел разделения ниже границы FAT (то есть 4 ГБ), для скорости вы можете выбрать низкую степень сжатия, даже «сохранить», то есть вообще не сжимать, вуаля!
Если у вас есть доступ к машине с Windows, вы можете конвертировать файловую систему USB-флешки без форматирования. Вы должны использовать командную строку Windows следующим образом: нажмите Win + R
, введите cmd
-> OK
, в открывшемся окне введите команду, convert X: /FS:ntfs
где X:
находится буква для вашего подключенного USB-накопителя. Не прошло и минуты, как все готово. Наслаждаться.
Переформатирование или использование split - отличные варианты, или вы можете попробовать использовать zip для сжатия файла, просто знайте, что некоторые файлы уже сжаты, поэтому их сжатие сделает их больше. (Также вы можете потерять право собственности на файл, метки времени и т. Д.)