8

Я форматирую карту SDHC 4 ГБ, прежде чем ставить на нее операционную систему для моего Raspberry Pi.

Он говорит "размер единицы выделения" 32 КБ и дает мне варианты до 1024 МБ.

Что мне с этим делать?

3 ответа3

2

Вам необходимо выбрать размер кластера. Данные читаются не на уровне байтов, а в блоках. Как правило, наименьшая единица хранения - это сектор (традиционно 512 байт, 4096 байт для дисков расширенного формата ), но даже это не тот способ, которым файлы хранятся в файловых системах, а секторы, а не группы, сгруппированные в кластеры.

Raspberry Pi сама по себе не имеет ограничений по размеру кластера, но операционная система, которую вы используете, может. Обычно подойдет любой стандартный размер, но обычно это зависит от того, какие файлы вы будете на нем хранить.

Если вы собираетесь хранить множество крошечных файлов, выберите минимально возможный размер кластера (один сектор; 512 для карт памяти). Таким образом, вы избегаете тратить пространство , имея много частично неиспользованных кластеров. Если вы собираетесь хранить много гигантских файлов, используйте кластеры максимально возможного размера (обычно 64 КБ; я никогда не видел кластеры размером 1 МБ :-o). Таким образом вы минимизируете накладные расходы на управление файловой системой, что освобождает немного больше места для хранения.

Если вы не уверены, просто используйте кластеры 4KB; это работает для большинства общего назначения, поэтому обычно используется по умолчанию.

1

У меня были трудности с поиском подходящего размера кластера, чтобы карта работала в телефоне (Samsung S7 Edge, Samsung Evo 128 ГБ). Для меня, наконец, сработало форматирование SD-карты с использованием USB Flash SD Formatter 4.00 с настройками размера кластера по умолчанию. Это доступно на SDCard.org, здесь https://www.sdcard.org/downloads/formatter_4/

1

Для карты SDHC целесообразно выбрать размер, который соответствует размеру, который используется контроллером на карте SD. Вы получите намного лучшую производительность от карты, где файловая система выровнена по границе стираемого блока, и это делает IO в единицах измерения внутреннего сегмента.

Необходимый размер варьируется от карты к карте. Вы можете использовать flashbench, чтобы выяснить, что такое единица выделения и размер стирания.

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