17

Я недавно купил флешку SanDisk 128GB USB.

И после форматирования флэш-накопителя USB в формате exFAT я скопировал папку, емкость которой составляет около 10 ГБ. В нем много маленьких файлов, так что это заняло некоторое время.

Тем не менее, когда я вижу в проводнике Windows после копирования папки, он говорит, что около 43 ГБ памяти занята, и теперь только 70 ГБ памяти можно использовать бесплатно.

Что происходит и как мне с этим бороться? Моя флешка физически сломана?

Это все еще странно, потому что, когда я скопировал один файл емкостью 7 ГБ, он правильно показал оставшуюся емкость на уровне около 110 ГБ.

4 ответа4

58

Вы уже ответили на свой вопрос: в нем много маленьких файлов

Каждый файл на томе exFAT занимает как минимум один размер блока. Таким образом, файл размером в один байт занимает не менее 4K - увеличение размера 1:4096. Вы видите увеличение размера 4,3, что очень вероятно при большом количестве маленьких файлов.

Вы можете проверить эту гипотезу, упаковав файлы с WinRAR и настройками нулевого сжатия, а затем скопировать этот файл на USB-накопитель.

14

При форматировании как exFAT вы почти наверняка выбрали какую-то большую единицу выделения (размер блока), такую как 128k или 512k. Переформатируйте со стандартными единицами выделения 4k, и проблема должна исчезнуть.

7

Почему это происходит?

Потому что вы храните много маленьких файлов.

Файловые системы имеют минимальный размер файла, который они могут хранить. Для файловых систем NTFS обычно это 4 КБ. Для exFAT это может быть намного больше. Это называется размером блока или кластера. Файлы, размер которых меньше этого размера, все равно будут использовать минимальный размер, поэтому файл размером 1 КБ может занимать 4 КБ дискового пространства. Файл 3 КБ также будет использовать 4 КБ дискового пространства. Если у вас есть файл 5 КБ, он будет использовать 8 КБ дискового пространства.

Вы можете представить это как сетку отверстий. Каждая дыра может содержать определенное количество данных. Файлы распределены по столько раз, сколько необходимо для хранения всех данных файла, но в отверстиях не может быть данных из более чем одного файла. Таким образом, если данные файла не полностью заполняют дыру, часть этого пространства теряется. Никакой другой файл не может использовать эту дыру, чтобы неиспользуемое пространство было недоступно.

Что вы можете с этим поделать?

В вашем случае у вас есть много файлов, которые не заполняют дыры, поэтому есть много потерянного пространства. Если вы поместите все файлы в ZIP-файл, то все эти данные будут храниться в одном файле, и это займет намного меньше места на диске.

Некоторые USB-накопители по умолчанию отформатированы как exFAT, поэтому в качестве альтернативы, если вы просто используете этот накопитель для копирования файлов между компьютерами Windows (или просто для хранения), вы можете попробовать переформатировать накопитель в NTFS (но сначала скопируйте все файлы) очевидно!) чтобы попытаться получить меньший размер кластера.

2

Как и предполагал другой ответ, используйте архиватор, но я рекомендую использовать 7z вместо WinRAR, потому что он бесплатный, а также вы можете избежать установки любых сторонних архиваторов, если вы используете встроенный в Windows «Отправить в> Сжатый (сжатый»). ) папка ", когда вы щелкаете правой кнопкой мыши файлы и папку. Это быстрее, чем 7z, но архивирование немного медленнее.

Если вам нужно хранить в основном изображения в формате JPEG или что-то еще, что вообще не сжимает, вам следует воспользоваться 7z и явно выбрать опцию "без сжатия".

Использование формата архива .zip поверх .rar или .7z важно, потому что Windows поддерживает просмотр их, как если бы это была просто любая другая папка (хотя и с некоторыми ограничениями).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .