Содержание
Я недавно купил флеш накопитель от компании Transcend модели JetFlash 600 на 32 Гб. Очень удобная миниатюрная флешка, весит всего 8 грамм.
Все вроде бы хорошо и замечательно, но возникли некоторые проблемы, которые, в принципе, не касаются самой флешки. А именно: копирование файлов размер которых превышает 4 Гб было невозможно, что очень неудобно, т.к. мне нужно было переносить образы дисков. Второй странностью, которую я заметил, была нестабильная работа флешки с удлинителем. Из-за этого была повреждена файловая система и были потеряны скопированные на нее файлы. Все это побудило меня провести небольшую исследовательскую работу, цель которой – выяснить в какую же именно файловую систему нужно форматировать флешку и почему. А также, рассмотреть некоторые часто встречающиеся проблемы и их решение.
Немного теории о файловых системах
На данный момент существует несколько наиболее распространенных дисковых файловых систем:
- ext4 (Fourth Extended File System) и предыдущие версии — файловая система, используемая в ОС Linux
- FAT32 (File Allocation Table) — 32-битная версия одной из самых распространенных файловых систем, используется по умполчанию на флеш-накопителях
- NTFS (New Technology File System) — файловая система, получившая распространение с приходом семейства ОС Windows NT
ext4 далее рассматриваться не будет, т.к. мне приходится пользоваться флешкой, в основном, на компьютерах где установлена ОС Windows. Так что, форматирование в эту файловую систему привело бы к затруднениям и невозможности работы с файлами накопителя в Windows-системах. Конечно можно было бы воспользоваться специальными программами для чтения, но их наличие на целевых я ставлю под сомнение.
FAT32, как известно, — это файловая система, в которую по умолчанию форматируются флешки до продажи. Считается (и не без оснований), что данная файловая система работает быстрее своих «конкурентов» и как нельзя лучше подходит для флешек. Но у нее есть и свои минусы, которые я опишу ниже.
NTFS — родная для Windows файловая система (ФС). Характеризуется высокой надежностью работы.
Достоинства и недостатки файловых систем для Flash накопителей
Итак, ответ на вопрос какую именно файловую систему использовать для flash накопителя? может иметь два варианта: FAT32 (по умолчанию) и NTFS (вариант с ext4 был исключен из-за возможных проблем с совместимостью). Чтобы на него ответить, нужно сравнить эти две файловые системы.
Достоинства и недостатки FAT32
Достоинства:
- Высокая скорость работы
- Низкое требование к объему оперативной памяти
- Эффективная работа с файлами средних и малых размеров
Недостатки:
- Не эффективная работа с файлами больших размеров
- Ограничение по максимальному объему раздела и файла — максимальный размер файла ограничен 4 Гигабайтами
- Снижение быстродействия при фрагментации
- Снижение быстродействия при работе с каталогами, содержащими большое количество файлов
- В каталоге FAT32 может хранить не более 65534 файлов
Достоинства и недостатки NTFS
Достоинства:
- Быстрая скорость доступа к файлам малого размера
- Высокая надежность сохранения данных и собственно самой файловой структуры
- Фрагментация файлов не влияет на саму файловую систему
- Высокая производительность при работе с файлами большого размера
Недостатки:
- Более высокие требования к объему оперативной памяти по сравнению с FAT 32
- Более низкая скорость работы по сравнению с FAT 32
- Ограничена длина пути к файлам — 32 767 символов Юникода; каждая компонента пути (каталог или имя файла) — до 255 символов
Описанные достоинства и недостатки очень условны и не всегда критичны при работе с файлами. Это скорее теоретические замечания, чем побуждение к действию. Лично мне очень сильно помешало в FAT32 ограничение на размер файла. Для меня тогда это было очень неудобно. Поэтому пришлось придумывать «обходные пути» для преодоления этого ограничения.
Мне хочется заметить и об альтернативной FAT32 файловой системе — это exFAT.
Обзор exFAT
exFAT (Extended FAT) — проприетарная файловая система, предназначенная главным образом для флэш-накопителей.
Основными преимуществами exFAT перед предыдущими версиями FAT являются:
- Улучшение распределения свободного места за счёт введения бит-карты свободного места, что может уменьшать фрагментацию диска
- Отсутствие лимита на количество файлов в одной директории
- Введена поддержка списка прав доступа
Примечание: поддержка exFAT имеется в Windows XP с Service Pack 2 и 3 с обновлением KB955704, Windows Vista с Service Pack 1. Так что, на некоторых компьютерах могу возникнуть проблемы.
Какую файловую систему выбрать?
NTFS имеет многочисленные преимущества перед FAT, а ее ограничения в большинстве случаев несущественны. Если Вы стоите перед выбором файловой системы, рассмотрите в первую очередь возможность использования NTFS, и только потом — FAT. В NTFS реализовано большое количество различных технологий, таких как: средства разграничения доступа, возможность шифрования данных, упаковка файлов для экономии места, многопоточные файлы, жесткие связи, точки переопределения, переходы, квотирование дискового пространства, ведение журнала изменений. Поэтому я рекомендую именно ее.
С точки зрения перспективности, функциональных возможностей, безопасности и надежности NTFS намного опережает FAT. Однако сравнение производительности этих файловых систем не дает однозначного результата, так как производительность зависит от множества различных факторов. Так что, тот выигрыш в скорости доступа к файлам в FAT недостаточен, чтобы отказаться от всех преимуществ NTFS.
Итоги
Я бы рекомендовал отформатировать флешки, особенно большого размера, в NTFS. Это надежнее и «технологичнее», к тому же, позволяет избежать часть ограничений FAT32. На скорости работы это сильно не отразится. Тем не менее, существует мнение, что журналируемая файловая система способна «запилить» флешку, т.к. часто обновляет свой журнал, который хранится в определенном кластере (блоке). Со временем он приходит в негодность и флешка может выйти из строя.
Вот что об этом говорит Борис (взято из комментариев):
NTFS журналируемая система?
Да.
Значит журнал ведет?
Да.
Куда она его пишет и что она в него пишет. Это вопрос, ответ на который даст понимание, почему не стоит использовать ntfs для флешек. Особоенно для недорогих, которые построены на менее долговечном чипе. Если вы ставите винду на SSD нужно обязательно отключать обновление даты доступа к файлам.
Ссылка и комментарий были просто для примера. При желании неплохо гуглиться.Еще раз повторю:
1. FAT32 – не слишком надежно и ограничение по размеру файла
2. exFAT – нет ограничения, по надежности ничего не скажу, нельзя создать загрузочную флешку
3. NTFS – всё хорошо, кроме того, что идет повышенный износ флешки. Другое дело, насколько быстро она умрет – это вопрос. Может быть я раньше ее потеряю.
У меня одна рабочая флешка, с которой я винду клиентам ставлю, в NTFS (потому что там лежит файл в 6Gb), другая – FAT32.
А что до меня: я отформатировал свои флешки в exFAT, чтобы избежать ограничений FAT32. Все устраивает. Единственное неудобство, по умолчанию Windows XP не умеет работать с этой файловой системой. Ну я и не обмениваюсь данными с компьютерами на Windows XP, так что решайте сами.
Ссылки
- Тестирование flash накопителей, отформатированных в разные файловые системы (англ.) — hwww.testfreaks.com
- Сравнение NTFS и FAT