Про Размер единицы распределения при форматировании. - Компьютер76 .
Чтобы знать

Про Размер единицы распределения при форматировании.

Как выбрать размер кластера, или зачем нужен пункт Размер единицы распределения в оформлении окна форматирования диска? На самом деле, как работает ниспадающий список в пункте Размер единицы распределения? И влияет ли его выбор хоть на что-то? И действительно, зачем до начала операции форматирования система предлагает, среди прочего, выбрать размер кластера? А если мы эту опцию пропускаем – что на самом деле разумно – Windows по умолчанию выберет именно то, а не другое значение? Кому не интересно читать, сразу отвечу – “проблема” абсолютно не критична. Ниже подробности.

Дальнейшее подразумевает, что вам слово кластер почти ни о чём не говорит. Обратимся к Microsoft, которая предлагает определение, в котором кластер является набором смежных секторов на носителе. При этом “размер кластера отражает минимальный объём дискового пространства, который может быть использован для хранения файла”. Таким образом, в голове рисуется виртуальный контейнер, которому можно придавать почти любой размер с целью хранить объекты известного размера. И размер, судя по предлагаемым объёмам кластеров последних версий Windows, действительно “любой”:

Windows не предложит вам неподходящий размер кластера

Сразу – типовым (по умолчанию) для NTFS считается размер 4096 байт. Пока запомним. И, чтобы закрепить  указанное, проверим размер кластера на собственных носителях. В консоли команд от имени администратора наберём имя утилиты проверки поверхности диска chkdsk.exe без дополнительных флагов с указанием на нужный раздел:

chkdsk c:

Последний абзац укажет на свойства раздела с указанием на размер кластера.

Так почему размер кластера по умолчанию 4 Кб?

Корректнее этот вопрос звучал бы как “4 Кб – это много или мало?”. Microsoft обтекаемо утверждает, что стандартные размеры для FAT и NTFS были подобраны в борьбе за сохранение дискового пространства и с неизбежной дефрагментацией по мере накопления файлов на хранилищах. И здесь нам придётся снова отвлечься на заставляющий многих хмуриться от негодования вопрос о несоответствии указанного в паспорте номинального объёма HDD или SSD и реального. Немало ведь из нас с горьким осадком наблюдали реальные и здорово “просевшие” объёмы жёстких дисков после форматирования. Нет, понятно, что файловая таблица после работы с диском требует места. Но всё же: купил диск 240 Гб, а на самом деле он и до 230-ти не дотягивает? Я, конечно, не о фейковых производителях из КНР, штампующих откровенные подделки с созвучными именами и вроде знакомыми лейблами дисков. И дело даже не в забывчивости юзеров о “недесятичной” системе счисления, когда речь идёт за биты и байты, хотя и со знакомыми приставками Кило, Мега, Гига и т.п. Нередко бывает, что HDD или SSD с одними и теми же заявленными объёмами после “формата” выглядят вообще по-разному. Но сейчас же речь идёт за более-менее понятную ситуацию, с которой придётся по-любому смириться. Дело в том, что в Windows для расположенных на хранилище объектов понятия РАЗМЕР и НА ДИСКЕ не одно и тоже. И здесь правило простое – чтобы приблизиться к реальному объёму диска, можно бы выбрать МИНИМАЛЬНЫЙ РАЗМЕР кластера. Но не торопитесь брать правило за основу. Это именно тот момент, когда шкура выделки вообще не стоит.

даже на папке весом 46 Гб разница (по сравнению с реальным объёмом со стандартным размером кластера) почти не ощутима

Какое число в окне Свойств считать правильным? Под Размером кроется истинный размер объекта. Перемещая его на другой носитель (флешку или оптический диск), вы увидите то же число. Параметр На диске отражает место, занятое в условиях текущего форматирования именно с учётом размера кластера. На этом диске размер единицы распределения выбран по умолчанию (как, скорее всего, и у вас) – 4096 байт. Это означает, что Windows будет распределять каждые 4096 байт для каждого из объектов (файлов или их частей, “весящих” от 1 до 4096 байт). Вы загружаете на диск файл с Размером, скажем, 20 Кб. В байтах это 20480. Делим на размер кластера:

20480 / 4098 = 4,9

Округляем до целого числа. Получилось 5. Именно в такое количество кластеров Windows запихнула файл размером 20 Кб. Возьмём поменьше, скажем, 17 Кб:

17408 / 4098 = 4,2

Windows всё равно округлит число кластеров до 5-ти – куда девать-то “0,2 файла” от целого числа 4? И получается, что разные в реале по объёму объекты отнимают одно и тоже по размерам место. Вот, к примеру, скрин с моего Рабочего стола для двух чуть-чуть, но-таки разных файлов:

условный парадокс – файлы разного объёма занимают одинаковое по размеру место

Эта логика и пронизывает все хранилища насквозь. Такая “несправедливость” завязана на правиле – кластер служит единственному объекту; ни с кем оставшимся местом он делиться не будет. Так что числа в части На диске всегда больше числа Размер, потому что На диске не отражает реального размера файла из-за особенностей принципа форматирования. И, опять же, следуя логике Windows, проверим одну и ту же папку, но на разных компьютерах (с разными размерами кластеров). Вот свойства некоего объекта на диске с размером кластера 512 Кб:

Засекаем в Свойствах параметр На диске (14 611 236 352 байта). Копирую объект на диск с уже стандартным размером кластера (4096 Кб):

Похожее

Здесь та же папка “забрала” 14 611 304 448 байт. Как итог:

14 611 236 352 – 14 611 304 448 = – 68 096 байт

Стандартный размер кластера “сожрал” 66,5 Кб. Для папки размером 13,6 Гигов. А разговоров-то было, да?

Процедура выбора размера кластера: сил Windows достаточно

Предположим, вы предпочли попробовать работу системы на минимальном размере единицы распределения. Для этого в окне форматирования выбираем соответствующий пункт, начиная с 512 байт:

или консоли управления дисками:

или из консоли команд от имени администратора при помощи Diskpart. Команды будут выглядеть так:

diskpart
list disk
select disk X
list partition
select partition Y
format fs=ntfs quick unit=512
exit

где Х – номер жёсткого диска по порядку (отсчёт идёт с 0), Y – нужный раздел (ориентируйтесь по размерам), красным же выделен указуемый раздел в байтах. Впрочем, этот пример стоит оставить в теории.

Размер единицы распределения: что в итоге?

Размер единицы распределения на современных машинах с HDD и SSD влияет только на скорость. Проверять разницу с кластерами на флешках или внешних дисках, подключённых через USB, смысла нет – малая скорость USB сведёт к нулю ваши старания. А вот для дисков, которые сидят на шинах с прямым подключением к материнской плате, размер кластера начинает иметь значение. Малое значение кластера скорость обмена данными занижает. Особенно это становиться заметным, когда один и тот же большой по размеру файл приходиться дробить на всё большее количество кластеров. Это логично: одно дело, когда система читает информацию об объекте, расположенном на десятке тысяч кластеров, другое – “выковыривает” данные с миллиона их. И наоборот, если кластер выбран чрезмерно большим, некоторое пространство в разделе исчезает в пустоту. Вот результаты самых простых тестов одного HDD с разными размера кластеров при помощи бесплатной CrystalDiskMark.

размер кластер 512 б
размер кластера 2 Мб
размер кластера стандартный – 4 кб

Да и сама Windows кое-что может сказать (смотрите на строчку Общая длительность):

скорость доступа к диску с кластером 4 кб
скорость доступа к диску с кластером 512 б

Как видите, если отличия между стандартным и наибольшим размером кластера при записи файла объёмом 16 Гб находится в пределах погрешности, то скорость записи на диск с кластером 512 Б упала почти вдвое. Согласитесь: ну кто же из рядовых пользователей будет дробить свои разделы и диски отдельно под маленькие файлы и отдельно под огромные. Хотя… Информация у вас теперь есть, экспериментируйте.

Успехов всем.