Что такое файловая система fat32
Перейти к содержимому

Что такое файловая система fat32

  • автор:

Файловые системы NTFS, FAT, FAT32 и exFAT, в чём отличие?

Читайте о том, что собой представляют файловые системы и какие у них между собой отличия. Сделаем акцент на разнице между файловыми системами «NTFS», «FAT», «FAT32» и «exFAT».

Файловые системы NTFS, FAT, FAT32 и exFAT, в чём отличие?

Введение

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

Файловые системы имеют собственную классификацию и представлены различными видами, включающие как наиболее распространенные NTFS, FAT, «HFS+», «Extfs», «Ext2», «ReiserFS», «XFS», «HPFS», «ext2», «OpenBSD», «UDF», «YAFFS», так и довольно редкие «ZFS», и данный ряд может быть существенно дополнен многими другими вариантами.

Наиболее часто встречающимися и массово представленными файловыми системами безусловно являются «NTFS», «FAT», «FAT32» и «exFAT». Но обычный пользователь не всегда точно может понять разницу между системами. В этой статье мы попытаемся рассмотреть общее понятие файловой системы и ответить на отдельные вопросы, такие как: – «Что представляют собой файловые системы «FAT», «FAT32», «exFAT» и «NTFS» и в чем разница между ними?».

Перейти к просмотру

NTFS, FAT32 или ExFAT для флешки, внешнего USB диска, как отформатировать без потери данных

Определение термина файловая система

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

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

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

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

Перейти к просмотру

Восстановление данных с USB флешки после случайного удаления, форматирования или вирусной атаки ����⚕️

Что представляют собой файловые системы «FAT», «FAT32», «exFAT» и «NTFS»

Операционная система «Windows», как самый массовый представитель систем управления компьютерными устройствами в мире, настроена на взаимодействие с различными файловыми системами («NTFS» и «FAT»), но «NTFS» поддерживает большие размеры файлов и томов и обеспечивает более эффективную организацию данных, по сравнению с другими вариантами файловых систем.

И несмотря на общие цели, файловые системы «NTFS» и «FAT» различаются методами организации и хранения данных на диске, а также указанием типов атрибутов, прикрепленных к файлам. И далее мы представим непосредственное описание конкретных файловых систем.

Перейти к просмотру

Восстановление файлов карты памяти фотоаппарата, телефона, планшета, видеокамеры, регистратора ����⚕️

Файловая система «FAT»

Сокращенная аббревиатура «FAT» расшифровывается как «таблица размещения файлов». Это простая классическая архитектура файловой системы, изначально предназначенная для небольших дисков и простых структур папок. Иными словами, файловая система «FAT» представляет собой групповой метод организации, в котором таблица размещения файлов выделена в отдельную логическую область и находится в начале тома. Для исключения непреднамеренных или случайных ошибок, способных повлиять на корректное отображение таблицы, система, в целях безопасности, хранит копию массива индексных указателей.

Файловая система «FAT32»

«FAT32» является фактическим стандартом, пришедшим на смену более ранним версиям файловой системы «FAT», «FAT12» и «FAT16», и изначально устанавливается на большинстве видов сменных носителей по умолчанию. Пространство «FAT32» логически разделено на три сопредельные области: зарезервированную область для служебных структур, табличную форму указателей и непосредственную зону записи содержимого файлов. Файловая система позволяет использовать накопители на ее основе не только на современных моделях компьютеров, но и в устаревших устройствах и консолях, снабженных разъемом «USB».

Тем не менее, стандарт «FAT32» имеет определенные системные ограничения. Размер отдельных файлов на диске с файловой системой «FAT32» не может превышать четыре гигабайта. Кроме того, весь раздел «FAT32» должен быть менее восьми терабайт. По совокупности ограничений, формат «FAT32» считается подходящим для «USB-накопителей» или внешних носителей информации. Для внутреннего накопителя, особенно при желании установить новейшую версию операционной системы «Windows 10», отсутствие отдельных привилегий прикладного уровня в «FAT32» будет серьезным препятствием, и потребует наличия более продвинутой версии файловой системы.

Файловая система «exFAT»

«exFAT» – это сокращенное обозначение от полного английского названия «Extended File Allocation Table» («расширенная таблица размещения файлов»). Стандарт является обновленной версией файловой системы «FAT32», созданный корпорацией «Microsoft». Основными параметрами система «exFAT» чрезвычайно похожа на «FAT32». Но главным отличием является устранение ограничений, присутствующих в файловой системе «FAT32», что позволяет пользователям хранить файлы намного большего размера, чем четыре гигабайта.

Также в файловой системе «exFAT» значительно снижено число перезаписей секторов, ответственных за непосредственное хранение информации, что особенно важно для флэш-накопителей, ввиду необратимого изнашивания ячеек после определённого количества операций записи, и улучшен механизм распределения свободного места.

Файловая система «NTFS»

«NTFS» («файловая система новой технологии») была в основном создана с целью устранения ограничений и недостатков файловых систем «FAT», улучшения производительности, надёжности и эффективности использования дискового пространства, а также создания надежного механизма защиты и хранения информации. Файловая система «NTFS» хранит информацию о файлах в главной файловой таблице «Master File Table» («MFT»), осуществляет разграничение доступа к данным для различных пользователей, предотвращает несанкционированный доступ к содержимому файла, применяя систему шифрования под названием «Encryption File System», которая использует защитный метод «прозрачного шифрования» данных.

Помимо вышесказанного, в файловой системе «NTFS» добавлена способность, отсутствующая в характеристиках файловой системы «FAT», открывать файлы, в названиях которых не используются английские буквы, позволяя использовать любые символы стандарта кодирования юникода «UTF». Таким образом, ограничения использования в названиях символов любых сложных языков, например, хинди или корейский, отсутствует.

Перейти к просмотру

Как разбить на разделы HDD, SSD диск, карту памяти или USB флешку

Разница между файловыми системами «NTFS», «FAT», «FAT32» и «exFAT»

Файловая система «FAT» создавалась первоначально для накопителей незначительного объема и способна поддерживать граничные размеры файлов до четырех гигабайт, в то время как в системе «NTFS» допустимый предел размера увеличен до шестнадцати терабайт. Далее подробнее представлены другие отличия:

«NTFS»

  • Поддержка файлов и дисков значительных размеров, на порядок превышающие остальные файловые системы.
  • Позволяет использовать расширенные имена файлов, включая поддержку множества сложных языков.
  • Падение работоспособности системы при запуске приложения проверки жёсткого диска или внешнего накопителя на ошибки файловой системы «chkdsk».
  • Стандартное приложение обслуживания системы chkdsk печально известно своей медлительностью.
  • Повышен уровень безопасности благодаря внедрению метода шифрования файлов.
  • Значительно быстрее на дисках объемом менее сорока гигабайт.
  • Меньшие файловые кластеры.
  • Поддержка сжатия на уровне файловой системы для файлов, каталогов и дисков для уменьшения дискового пространства.
  • Пользовательские разрешения для файлов и папок.
  • Копии файлов «отменяются», если прерванный кластер очищен.
  • Небольшие файлы хранятся в главной таблице файлов в начале диска.

«FAT»

  • Не совместим с последней версией операционной системы «Windows».
  • Поддержка дисков от тридцати двух мегабайт до двух терабайт.
  • Более сильные преимущества и результативные особенности инструментов для восстановления.
  • Поддерживает быструю проверку работоспособности диска.
  • Простой способ размещения операционной системы и быстрый алгоритм чтения файлов.
  • Быстрее функционирует на дисках объемом менее десяти гигабайт.
  • Цепочки кластеров, содержащие данные из прерванных копий, помечаются как поврежденные.
  • Таблица основных файлов отделена от других файлов.

«FAT 32»

  • Отсутствуют функции безопасности, которые реализованы в более современной файловой системе «NTFS».
  • Не удается установить новейшие версии операционной системы «Windows» (поскольку файл имеет большой размер и может быть установлен только на диски, отформатированные в системе «NTFS»).

«exFAT»

  • Доступ к дискам с файловой системой «exFAT» в операционной системе «Linux» можно получить только после установки соответствующего программного обеспечения.
  • Работает со всеми версиями операционной системы «Windows» и современными версиями системы «Mac OS X».

Перейти к просмотру

�� Топ БЕСПЛАТНЫХ программ для ⚕️ восстановления удаленных данных для Windows в 2020

Заключение

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

В зависимости от предъявляемых к накопителям требованиям, пользователи могут, на основании представленного сравнительного обзора, разобраться в особенностях отдельных файловых систем и самостоятельно выбрать наиболее удачную версию для каждого конкретного устройства. По своему усмотрению пользователи могут оставить без изменений, установленную первоначально, файловую систему, при использовании носителя информации на широком круге различных компьютерных устройств, или обновить ее до максимально выгодной файловой системы «NTFS» при необходимости статичного использования запоминающего дискового накопителя, например, в качестве основы для установки новейшей версии операционной системы «Windows 10».

Andrey Mareev

Автор: Andrey Mareev, Технический писатель

В далеком 2005 году, я получил диплом по специальности «Прикладная математика» в Восточноукраинском национальном университете. А уже в 2006 году, я создал свой первый проект по восстановлению данных. С 2012 года, начал работать в компании «Hetman Software», отвечая за раскрутку сайта, продвижение программного обеспечения компании, и как специалист по работе с клиентами.

Michael Miroshnichenko

Редактор: Michael Miroshnichenko, Технический писатель

Мирошниченко Михаил – одни из ведущих программистов в Hetman Software. Опираясь на пятнадцатилетний опыт разработки программного обеспечения он делится своими знаниями с читателями нашего блога. По мимо программирования Михаил является экспертом в области восстановления данных, файловых систем, устройств хранения данных, RAID массивов.

  • Обновлено:
  • 14.10.2023 14:47
  • На других языках:
  • Английский
  • Метки:
  • Жесткий диск
  • Карта памяти
  • Файловая система FAT
  • Файловая система NTFS
  • Флеш-накопитель

FAT32

FAT32 (File Allocation Table — «таблица размещения файлов») — файловая система, автором и создателем которой является компанией Microsoft. FAT32 является разновидностью FAT. Если точнее, FAT32 — это ее последняя версия, она является модернизацией предыдущей версии (FAT16). Целью создания FAT32 является преодоление ограничения на размер тома в FAT16. При этом новая файловая система допускает использование старого кода программ MS-DOS.

В FAT32 применяется 32-разрядная адресация кластеров.

FAT32 вышла вместе с Windows 95 OSR2.

Разработчик

Дата выхода

Содержимое папок

Размещение файлов

Сбойные сектора

Ограничения

Максимальный размер файла

Максимальная длина имени файла

8.3 или 255 символов при использовании LFN

Максимальный размер тома

Возможности

Диапазон дат

1 января 1980 — 31 декабря 2107

Точность хранения даты

FAT 32 и Windows

Максимально возможное число кластеров в FAT32 составляет 268 435 445. Это позволяет использовать тома (логические диски) объемом до 8 ТБ. Если используется кластер размером в 32768 байт, максимальный размер тома будет составлять чуть менее 1024 ТБ.

Несмотря на то, что размер сектора может быть любым, традиционно он считается равным 1 сектору диска и равен 512 байт. Поскольку эта величина не менялась с момента создания, она может браться в качестве константы (в рамках определенного программного обеспечения), что, в свою очередь, может повлечь за собой проблемы совместимости.

К примеру, программа ScanDisk, являющаяся частью Microsoft Windows 95 и Microsoft Windows 98 — 16-разрядная программа. Максимальный размер кластера отдельного фрагмента памяти для такого рода программного обеспечения составляет 16 МБ минус 64 КБ. Соответственно, ScanDisk в операционных системах Windows 95 или Windows 98 не может работать с томами FAT32, у которых размер таблицы FAT превышает 16 МБ минус 64 КБ. Запись в таблице FAT на томе с файловой системой FAT32 имеет размер 4 байта, что мешает программе ScanDisk работать с таблицей FAT на диске FAT32. С учетом самих таблиц FAT и при максимальном размере кластера 32 КБ размер тома может быть до 127,53 ГБ.

Штатные средства операционных систем Windows 2000, Windows XP, Windows Vista и Windows 7 не позволяют создать разделы FAT32 более 32 ГБ, но с такими разделами возможно работать, если они были предварительно созданы в других операционных системах. Причиной этого является то, что при увеличении размера тома FAT32 выше 32 ГБ резко падает производительность. В этом случае более подходящим решением будет использованить NTFS, то есть родной формат файловой системы для Windows 2000 и Windows XP. Однако NTFS нецелесообразно использовать на флеш-накопителях, вот почему была разработана специальная файловая система exFAT, которая снимает ряд подобных ограничений.

Windows XP работает с томами объемом до 2 ТБ. Программа Partition Magic позволяет создавать FAT32-раздел размером не более ~192 ГБ. Программа EASEUS Partition Master создает FAT32-раздел размером 250 ГБ и более.

Максимально возможный размер файла для тома FAT32 — ~ 4 ГБ — 4 294 967 295 байт (2 32 -1 — 4 294 967 295 байт).

В FAT32 отсутствует поддержка на установку разрешений на доступ к файлам и папкам и некоторые другие функции современных файловых систем. Все эти ограничения в совокупности привели к тому, что сейчас наблюдается тенденция отказа от FAT32 в пользу более продвинутых файловых систем (NTFS, Ext2/Ext3).

Что касается NTFS (главной альтернативы), то недоверие в отношении этой файловой системы возникает у пользователей ввиду трудностей с назначением прав доступа и ее закрытости. Сегодня существуют полноценные бесплатные драйверы, предоставляющие полный доступ к Linux Ext2/Ext3 разделам из под Windows NT4.0/2000/XP/Vista:

  • ext2fsd — Open source Ext2/Ext3 file system driver for Windows (NT/2K/XP/VISTA, X86/AMD64)
  • ext2ifs — Ext2 Installable File System For Windows

USB Flash

Что мешает окончательно отказаться от FAT32? Функциональность и прозводительность FAT32 на flash-накопителях. Переходу на другие файловые системы на USB флеш-накопителях препятствует именно производительность. Несмотря на описанные ограничения, у FAT32 есть и ряд преимуществ (по меньшей мере, перед NTFS). Они заключаются как в скорости записи на флеш-накопитель, так и в скорости чтения/копирования данных с него. Новейшие FAT32 обладают отдельными атрибутами (архивным, системным, скрытым, временным, чтения).

FAT32 и Mac OS X

Ассистент Boot Camp от компании Apple, внедренный в операционную систему Mac OS X, имеет поддержку запуска Windows XP с тома FAT32, однако сама система Mac OS X не может запускаться с такого тома. Mac OS X по умолчанию (без применения дополнительных драйверов) определяет и поддерживает как чтение, так и запись на FAT32 разделы.

ООО «Альтербит», 197183, Санкт-Петербург, Комендантский проспект, 2 схема проезда
Телефон: (812) 309-2602 ← Звони если хочешь купить сервер, схд, компьютер

FAT 32 — что такое и зачем

загрузка файлов смартфон.jpg

Современные супер функциональные смартфоны обязательно оснащаются слотами для SD-карт. Это не удивительно, сегодняшний мобильный пользователь хочет, чтобы многие вещи находились всегда под рукой, и речь не только о любимой музыке, фото близких и прочем контенте. Учитывая, что Андроид-устройства сродни компактному ПК, не редкость, когда смартфон – это и «рабочая лошадка», которая хранит массу важной и ценной информации: рабочей, личной и т.д. Именно поэтому наличие дополнительной карты памяти так актуально для смартфона, этот волшебный расширитель объема хранилища на сегодняшний день доступен в размере до 256 Гб! Однако, съемный носитель информации – это не вечный двигатель и его через определенный момент времени нужно форматировать при помощи ПК. Система сразу предложит выбрать файловую систему и способ форматирования. Такой поворот событий может поставить в тупик некоторых пользователей: что вообще такое файловая система, зачем она нужна и как ее использовать?

ЧТО ТАКОЕ ФАЙЛОВАЯ СИСТЕМА

Прежде чем перейти к функционалу файловой системы, необходимо сначала разобраться с ее понятием. Так как нас интересует более узкая ее направленность в отношении съемных носителей информации, можно назвать это способом упорядочивания различных данных на самих носителях. Система управляет процессами хранения и доступа ОС ПК с ним.

Чтобы узнать, какая ФС используется на ПК необходимо зайти в «Мой компьютер» и навести курсор на любой диск, после чего вызвать мышкой меню, в самом низу которого выбрать пункт «Свойства». Там необходимо выбрать вкладку «Общие», где и отобразится вся информация о ФС. Не факт, что на всех дисках буде одинаковая система.

Самое важное и необходимое, что делает ФС: размещает данные в виде файлов, присваивает имена атрибутов, удаляет лишние файлы и защищает от вмешательства посторонних.

смартфон настройки.jpgВИДЫ ФАЙЛОВЫХ СИСТЕМ

Динамичное развитие операционок и различных накопителей данных дает стимул к созданию новых файловых систем. Самыми популярными файловыми системами являются FAT32, NTFS, Ext3, ext4, HFS Plus. Конечно, все они неидеальны и имеют как преимущества, так и недостатки.

Большинство смартфонов, функционирующих на платформе ОС Android, поддерживают FAT32. Производитель смартфонов Хайскрин рекомендует исключительно использовать систему ФАТ 32 для своих устройств. В числе ее преимуществ приличная скорость работы и совместимость. Это относится к обычным домашним видеоплеерам, фотопринтерам, медиапроигрывателям. Единственное, на что важно обратить внимание – это размер закачиваемых файлов, так как в данной ФС размер файла ограничивается четырьмя гигабайтами, а при скачивании объемного файла система может выдать предупреждение о том, что места в памяти устройства не достаточно.

ОСОБЕННОСТИ FAT32

Для стабильной работы смартфонов необходимо время от времени форматировать съемные носители. Наиболее приемлемым для этого является использование ФС FAT32. Число «32» — это разрядность системы, таким образом, FAT32 является обновленной версией после файловых систем FAT12 и FAT16. Последняя отличается стабильностью и быстрее работает, благодаря обновленной архитектуре система позволяет сэкономить до пятнадцати процентов объема карты.

Разработчиками FAT32 являются Б. Гейтс и М. МакДональд (1977). Сегодня ФС так популярна благодаря хорошей совместимости с большим количеством современных операционных систем, поэтому ее использование – это оптимальный вариант, когда необходимо отформатировать съемный носитель для смартфона на ОС Андроид.

Информация, которая записывается на SD-карту, размещается в специальных ячейках — кластерах. Размер их определяется значениями, устанавливаемыми перед началом процесса форматирования. Если ФС выбирается с учетом поставленных задач и условий использования, то FAT32 необходима для Efi-разделов на компьютерах.

файловая система.jpgФОРМАТИРОВАНИЕ СЪЕМНОГО НОСИТЕЛЯ ДАННЫХ В FAT32

Форматирование SD-карты — это уже создание на ней ФС, при помощи которой организуется возможность доступа к информации, способы ее хранения и систематизирования. По окончанию процесса форматирования все, что хранилось на карте удалится. Если существует необходимость восстановления определенного объема данных можно воспользоваться специализированными программами восстановления, конечно не стоит рассчитывать на 100% успех, так как вернуть данные не всегда удается.

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

Для смартфонов, функционирующих на платформе операционной системы Андроид, форматирование лучше всего выполнять при помощи ФС FAT32. Для смартфонов Highscreen (Хайскрин) рекомендуется исключительно система FAT32. Это необходимо, когда телефон не может самостоятельно очистить съемный носитель. Причинами могут стать повреждение карты или извлечение носителя в процессе передачи данных. Чтобы отформатировать карту при помощи FAT32 необходимо подключить смартфон к компьютеру через кабель или подключить карту с помощью карт-ридера. Далее заходим в «Мой компьютер», где должна отобразится карта памяти, наводим на нее курсор, вызываем меню, из списка которого кликаем на «Форматировать». Нам необходимо FAT32 и «Полное форматирование». Бонусом использования данной файловой системы является то, что SD-карты объемом 128 Гб после осуществления форматирования подходят для смартфонов практически всех моделей.

Официальный магазин мобильных телефонов Хайскрин
Каталог смартфонов Highscreen

Статья ASM. FAT32 – описание файловой системы

FAT датируется аж 1977-годом и пришла к нам из проприетарного DOS. Благодаря простой реализации, сейчас это способ хранения данных на таких носителях как USB-брелки, карты-памяти телефонов и ЦФК, в EFI для хранения кода загрузчика, в системах реального времени RTOS, и многое другое. В данной статье рассматриваются гендерные признаки зоопарка FAT, и в какую сущность превратила эволюция конкретно взятую FAT32. Детальный её разбор позволит понять алгоритм восстановления удалённых файлов, а так-же подтолкнёт на создание своих утилит форматирования, с широким спектром логической геометрии. Из инструментов понадобится любой (способный работать с дисками) HEX-редактор типа WinHex или HxD, штатный калькулятор Win, и

Ссылка скрыта от гостей

1. Вводная часть; ​
2. Загрузочная запись и блок BPB – Bios Parametr Block; ​
3. Таблицы FAT – File Allocation Table; ​
4. Корневой каталог «RootDir»; ​
5. Практика – разбор служебных структур; ​
6. Заключение. ​

1. Вводная часть

В основе проектирования операционных систем лежит работа с информацией. Здесь перед инженерами встают три задачи: во-первых определиться с типом накопителей (HDD, SSD, Flash), чтобы предоставить системе соответствующий драйвер. Второй момент – это способ хранения данных в виде файловых систем Ext, HPFS, FAT, NTFS и прочие. Но что ещё немаловажно, это предусмотреть возможность восстановления инфы в случае критических сбоев. Последний вопрос стоит ребром, что побудило Microsoft создать до блеска отшлифованную NTFS (New-Technology-File-System). Её мы не будем пока трогать, и отправив на скамейку запасных, рассмотрим только FAT.

1.1. Иерархия: диск[сектор] + том[кластер]

Для начала разберём геометрию накопителей.

• На нижнем уровне, производитель делит всю поверхность на 512-байтные сектора (отсчёт с единицы). Но утилиты и ОС могут предоставлять нам секторы > 512-байт, однако они по-любому будут кратны 512, например 1024-байт. Сектор – мин.порция обмена с диском, мы не сможем прочитать с него кол-во байт не кратное 512. Это нужно учитывать при вызове функций Read/WriteFile() .

Самый первый сектор всегда отводится под MBR (MasterBootRecord), где указывается объём накопителя, и смещение к его логическому тому. Вместо устаревшей трехмерной CHS с лимитом в 8 ГБ, в современном мире используется уже линейный подход LBA48 (48-bit Logical Block Address), в которой секторы нумеруются с нуля, а не как прежде с единицы. LBA позволяет адресовать диск размером 128 ПетаБайт, при размере блока 512.

• ОС не может хранить файлы на дисках без логических разделов (том, volume, макс=26 с литерами от А: до Z. Значит нужно создать этот том, и установить на него какую-нибудь файловую систему (далее FS), чтобы ОС знала о порядке расположения файлов – эта операция известна как форматирование. Бинарные файлы можно сбрасывать и на «сырой» RAW-том, только за доступ к ним будем отвечать уже сами. Такой изврат применяется редко, например при работе с дисками без поддержки их со-стороны ОС (см.прерывание BIOS int-13h).

• Допустим, имеем первый раздел C:\. Его смещение от начала диска указывается в секторе(1) MBR. У всех накопителей, первый раздел начинается как-минимум с сектора(63). Если учесть, что непосредственно данные и код MBR занимают всего 1-сектор, следовательно перед началом тома в загашнике остаётся аж 62 свободных, а это: 62*512=31 КБ пространства, где можно скрыть от FS конфиденциальную инфу. Важно понять, что FS устанавливается не на диск, а на его логический том, поэтому драйвер считает началом тома LBA(0), хотя в глазах биоса это сектор(63).

Такой расклад создаёт путаницу, но достаточно запомнить, что функцией CreateFile() можно открыть как физ.диск (тогда LBA(0) указывает на его начало), а можно запросить и логический том диска, например по букве C:\. В этом случае LBA(0) считается уже указателем на начало раздела. То-есть всё зависит от того, какой объект мы открываем.

• Каждая запись в таблице FAT указывает на определённый блок-информации в области данных. Если указателями адресовать мелкие секторы диска, то во-первых нужно будет увеличить разрядность этих указателей до 64-бит (т.к. диски могут быть исполинских размеров), а во-вторых потребуется огромное кол-во самих линков, что повлияет на размер таблицы. Файлы до 512-байт встречаются редко, а значит нет смысла искать их в каждом секторе. По этой причине, несколько секторов всегда собираются в «кластер» , что позволяет увеличить полезное пространство, за счёт уменьшения таблицы FAT.

C дефолтными настройками, все FS создают кластеры размером 4096-байт, а это 8-секторов. В служебной таблице FAT лежат теперь указатели не на секторы, а на кластеры, и соответственно размер её сокращается в 8-раз! Но помимо плюсов есть и минусы.. Если в txt-файле у нас 11-байтная строка «Hello World», на диске этот файл будет занимать 4 КБ, т.к. мин.блоком хранения данных уже получается кластер. Зайдите в свойства любого файла и посмотрите, какой он имеет реальный размер, и сколько ему выделено на диске:

Hello.png

Как видим – картина удручающая, и при кластерном распределении у нас улетает в трубу огромная часть пространства. Но говорят, «случaйнaя удaчa принocит бoльшe рaдocти, чeм зaкoнoмeрный уcпex», и видимо инженеры с этим согласны. Здесь они вынуждены сесть на шпагат и только надеяться, что большинство файлов юзера будут размером больше 4КБ. Исключительно в этом случае экономия на размере таблицы оправдает себя.

Чтобы предотвратить суицид крайне впечатлительных юзверей, инженеры построили себе хату-с-краю, и предложили нам самостоятельно выбирать кол-во секторов в кластере – данный параметр имеется у большинства приличных утилит форматирования и называется «SectorPerCluster» . Если у вас много мелких файлов и вы считаете 4КБ для хранения каждого из них слишком расточительным, то всегда можете изменить размер кластера в диапазоне от 512-байт, до 64КБ. Вот скрин одной из таких утилит «Fat32format»:

Fat32Format.png

1.2. Организация FAT – вид сверху

На рис.ниже представлены основные отличия FAT12/16, от более совершенной FAT32.
Здесь видно, что раньше, в системной области четыре служебные структуры располагались плотно друг-к-другу: это блок параметров BPB с адресом LBA(0) (не путать с MBR), далее основная таблица FAT, следом её резервная копия FAT2, и в хвосте корневой каталог. Размер таблицы зависит от общего кол-ва секторов в накопителе. Очевидно, что чем больше размер диска, тем больше в нём кластеров, и соответственно больше указателей на кластеры в таблице FAT.

Теперь посмотрим на организацию FAT32 справа..
Корневой каталог уже съехал с насиженных мест и может находится где угодно. Драйвер FS считает его обычным файлом с доступом на запись, что даёт возможность каталогу RootDir расширяться динамически. Кроме того, блок BPB разбух с одного до трёх секторов, хотя в FSInfo нет ничего интересного, а последний отправлен в резерв для наших потомков. Причём имеется и зеркало ВРВ, всегда по адресу LBA(6). В доке на FAT32 эту область назвали «Резервные сектора» , сразу после которых расположилась уже таблица FAT со-своей копией. Благодаря такой организации, драйвер FS может восстанавливать теперь не только таблицу FAT, но и загрузочный сектор ОС в блоке параметров BPB.

FAT_16_32.png

2. Загрузочная запись и блок BPB – Bios Parametr Block

В самом начале тома с адресом LBA(0), во всех версиях FAT лежит блок параметров биос ВРВ. Он занимает ровно один 512-байтный сектор и содержит в себе базовые параметры файловой системы, а так-же код загрузчика ОС с сигнатурой 0x55AA. Запустим HEX-редактор и через меню «Инструменты» откроем в нём свою флэш – вот как это выглядит у меня:

FAT_BPB.png

Загрузчик нас не интересует, ..более того, если Flash не загрузочная, Boot-block вообще забит нулями, и это часто практикуется (например на microSD телефонов). Зато ВРВ критически важен для драйвера, посколько именно в нём зарыта инфа о расположении оставшихся трёх/системных структур – это парочка FAT, и корневой каталог RootDir. Для программного доступа к этому блоку я создал инклуд, и поместил в него структуру ВРВ с описанием каждого поля. Здесь-же перечислю только те поля, которые откроют нам доступ к FAT и корневому каталогу:

BPB struct

struct BPB ;//

FAT_BPB_Decode.png

В спеке на FAT32 от Microsoft говорится, что положение корневого каталога "RootDir" строго не регламентируется, и он может лежать в произвольном кластере области данных. Однако на практике, Root в моих тестах всегда расположен сразу после двух таблиц FAT, т.е. адрес его фиксирован. Не знаю, может и есть в природе отбившиеся от стада утилиты форматирования, но лично мне таковые ещё не встречались.

В любом случае, найти каталог можно по приведённой выше формуле, и если это штатный форматер Win (как и большинство других), то вторая часть формулы (RootCluster-2) * SectorPerCluster будет всегда возвращать нуль. Тогда получается, что каталог лежит сразу после резервных секторов + размеры двух таблиц FAT (см.первый скрин FAT16). А вообще, жить без идеологии и надеяться на случай не есть гуд, а потому лучше использовать полную формулу, тем-более что мягкие уже грозно предупредили нас об этом.

3. Таблица FAT – File Allocation Table

Теперь выйдем из матрицы, и поговорим о более насущном..
Организация любой файловой системы – невероятно сложный механизм. Однако в случае с FAT, это утверждение сильно притянуто за-уши. Именно благодаря свой простоте она дожила до наших дней и не собирается уходить со-сцены, а наоборот мутировала в 64-битную ExFAT.

Значит чтобы получить указатель на таблицу, нужно прочитать поле "RsvdSectorCount" структуры ВРВ. В данном случае там прописан сектор(1000), и если умножить его на 512, получим смещение в байтах от начала тома = 0x0007D000. Далее, читаем из той-же ВРВ поле "FATSz32" с размером, и передаём оба полученных значения функции ReadFile() . Так, в приёмном буфере функции получим дамп таблицы FAT, для её детального разбора.

Таблица – это массив указателей на кластеры, без каких-либо служебных полей. Отсчёт кластеров в массиве начинается с нуля, а разрядность указателей 32-бит (отсюда и название FAT). Старшие 4-бита отправлены в резерв, остаётся 28. Тогда получается, что FAT32 может адресовать всего: 2^28=268.435.456 кластеров, и если размер каждого из них 4096-байт, то макс.объём диска = 1ТБ. Однако это теоретический предел, ведь всегда можно увеличить размер кластера в 2,4,8 и даже в 16-раз, при этом оставив 28-битные линки. Так-что на практике становится доступным диск 16ТБ, а если требуется больше, нужно переходить на ExFAT, в которой разрядность указателей расширена до 64-бит.

На рисунке ниже представлен фрагмент таблицы FAT (для удобства, в меню "Вид" сгруппируйте отображение по 4-байта).

• Два/первых элемента массива всегда равны 0x0FFFFFF8 + 0xFFFFFFFF , и не используются в качестве указателей на кластеры – это просто сигнатура таблицы, а байт(F8) определяет "MediaType" (варианты: F0=Floppy, F8=Hard, FA=Ram). Когда блок ВРВ и его резервная копия безвозвратно утеряны (бэд-сектор или вирь), по данной сигнатуре можно будет найти таблицу, чтобы попытаться спасти информацию.

FAT_Entry.png

• 32-битные элементы начиная со-смещения(8), отображают уже состояние соответствующих кластеров в области-данных диска. Он может быть свободным(0), выделенным(2), зарезервированным(F6) или повреждённым(F7). Элемент с макс.значением 0x0FFFFFFF является маркером последнего кластера файла EOC (EndOfCluster). Если файл большой и занимает несколько кластеров, указатели связываются в цепочку до тех пор, пока не встретится этот маркер (выделены красным).

• Древовидная структура расположения файлов на диске, начинается с корневого каталога – мы не видим его среди привычных нам папок, но он присутствует всегда. Ему назначается имя в виде "метки тома", которую запрашивает у нас система, при форматировании раздела. Именно поэтому второй элемент таблицы по смещению(8) имеет маркер окончания 0x0FFFFFFF , т.к. под корневой каталог отводится всего один кластер(2) (см.структуру ВРВ-->RootCluster).

Чтобы продемонстрировать организацию таблицы FAT, я форматнул свою флэш и сбросил на неё всего два файла. Первый размером 7.4КБ, поэтому занимает на диске два 4К-байтных кластера (выделен зелёным), а второй размером 20.2КБ и как видим, загребает 5 (выделенных синим) кластеров. Далее следуют null-элементы, которые информируют о свободном пространстве.

Обратите внимание, что после кластера(2), следующий элемент таблицы указывает сразу на кластер 0х00000004 . Это-же касается и записи после маркера EOC по смещению(14h) – перепрыгнув через один, она линкует сразу на кластер(6). Здесь возникает вопрос: куда подевались кластеры 3 и 5, ведь значения 0х0FFFFFFF это не указатели, а просто маркеры окончания цепочки?

Дело в том, что в таблице FAT хранятся указатели на следующие кластеры файла, а первый – прописывается в корневом каталоге RootDir, где лежит полный паспорт файла. То-есть когда файл меньше 4096-байт, выделенный под него первый кластер указывается в корневом каталоге, а в таблице получим лишь связанный с ним EOC. Но если файл выходит за границы одного кластера, то следующие указываются уже в таблице FAT, пока не встретится маркер окончания.

4. Корневой каталог " RootDirectory "

Файловая система требует базы, где хранилась-бы информация о всех, существующих на диске, файлах. Для FAT32(16) такой базой является "корневой каталог". Чтобы описать свойства одного файла, инженерам потребовался блок размером в 32-байта, где можно найти: имя файла/каталога в формате 8.3, его размер, дату создания, атрибуты, а так-же номер первого кластера , с которого начинается данный файл. Если-же хвост файла торчит снаружи выделенного кластера, номер следующего указывается уже в таблице FAT. Иначе, в таблице будет прописан только маркер окончания EOC. Таким образом, таблица и корневой-каталог логически связаны между собой, и потеря любого из них приведёт к краху всей FS.

В доках, 32-байтную запись каталога назвали SFN , что подразумевает "Short File Name". Короткая (short) она потому, что хранит имя в досовском формате(8.3). Но в современном мире мы уже отвыкли от всевозможных рамок, и предпочитаем для файлов более длинные имена, которые Win всё-же ограничивает до 256-символов. Поэтому в FAT предусмотрена родственная к SFN структура LFN (Long) – она имеет такой-же размер 32-байт, но является не самостоятельной, а дополнением к SFN. Если в имени файла меньше 8-ми символов, структура LFN может вообще отсутствовать, но SFN в наличии всегда.

Нужно признать, что организация длинных имён в FAT выполнена через известное место. Так, каждая структура LFN несёт в себе макс. 13-символов имени файла, а если их больше, то добавляется ещё одна структура и получаем 26-символов. Если-же и этого мало, то подключается сл.структура и т.д. Причём имя задаётся в Unicode (где на каждый символ расходуются по 2-байта) и внутри одной структуры разбросано по трём/разным полям. Более того, порядок следования цепочки структур обратный – т.е. сначала идёт последняя LFN(x), после неё LFN(x-1) и далее в том-же духе. Общее кол-во структур указывается в первом байте "Ordinal" . Здесь становится очевидным, что разработчик явно был под веществами.

Описание структур SFN и LFN

;//********************************************************************* ;// Время: Биты[4:0]= пары секунд (0-29), [10:5]= минуты, [15:11]= часы ;// Дата: Биты[4:0]= день, [8:5]= месяц, [15:9]= год начиная с 1980 ;//********************************************************************* struct SFN ;//

Выше упоминалось, что LBA каталога можно найти по формуле из ВРВ:
RsvdSecCount + (FATSz*2) + ((RootCluster-2) * SecPerCluster)

Для своей флэш я получил LBA=16384, и прыгнув на него в редакторе, попал в начало каталога.
Проясним некоторые моменты..

1. Первая структура SFN (синий блок) будет всегда описывать корневую папку диска. Это единственная структура, которой может быть присвоен атрибут "VolumeID" со-значением 08h. Атрибуты файлов/каталогов лежат по смещению(0Вh) от начала структур, и я заключил их в синий овал. Все остальные поля первой структуры SFN считаются не действительными! ​

2. На моей флэш всего два файла с именами "dCrypt.asm" и "usbVIDbase.txt". Чем руководствуется драйвер FAT при добавлении к SFN структуры LFN остаётся загадкой, поскольку имя первого файла меньше 8-ми символов, но дров всё-равно вставил LFN (см.красный блок). А вот имя второго файла уже 10-символов, и для него выделено две LFN в зелёном блоке. Обратите внимание, что у первой в поле-ординала лежит значение(1) (+40h маска), а у второй LFN ординал равен(2). Эти поля я выделил чёрным, и они определяют кол-во структур LFN для текущего файла. Записи LFN можно обнаружить по атрибуту(0F). ​

FAT_RootDir.png

Из чёрной таблицы с расшифровкой полей видно, что номер первого кластера разделён на две части Hi/Low. Первый файл "dCrypt.asm" размером 7.4КБ и начинается с кластера(3). Но поскольку он требует два 4К-байтных, следующий указывается уже в таблице FAT (см.зелёный dword на предыдущем скрине). Здесь нужно отметить, что номера кластеров представляются относительно начала области-данных, которая совпадает с началом рассматриваемого корневого-каталога RootDir.

Так как-же найти злополучный файл на диске?
Для этого в спеке FAT32 приведена формула такого вида: FileFirstCluster = RootDir + (SFN.FstClus - RootCluster)
Если учесть, что в стандартной реализации FAT32 поле "RootCluster" в структуре ВРВ всегда равно 2, то для первого файла получаем следующий сектор LBA:

RootDir = сектор 16384 SFN.FstClus = кластер(3) Формула: 3-2 = кластер(1) = 8 секторов ----------------------------------------- FileFirstClus = 16384 + 8 = сектор(16392)

FAT_File.png

4.1. Алгоритм поиска удалённых файлов

Когда мы удаляем файл с диска FAT, он фактически остаётся на своём месте и так-же занимает свой кластер. Просто в соответствующей структуре SFN, первому байту присваивается маркер(Е5) . Аналогичную ситуацию наблюдаем и в случае "Быстрого форматирования" тома. Такой расклад способствует восстановлению удалённых файлов. Чтобы создать их список, достаточно в корневом-каталоге с шагом в 32, проверять каждый/первый байт на маркер(Е5).

В качестве доказательства, я удалил со-своей флэш "usbVIDbase.txt", а второй файл оставил. В результате, SFN удалённого файла (и две предшествующие ей LFN) приобрели вид как на скрине ниже, а причастные к файлу элементы таблицы FAT сбросились в нуль. т.е. кластеры освободились для последующей записи. Таким образом, информация в кластерах удалённых файлов будет доступна нам до тех пор, пока драйвер FS не перезапишет их новыми данными.

FAT_Deleted.png

5. Практика – разбор служебных структур

Теперь попробуем автоматизировать весь изложенный процесс..
Код ниже покажет основную информацию об USB-Flash или карте-памяти, если они имею формат FAT32.

Здесь есть нюанс, на который советую обратить внимание..
Значит получаем букву диска, и проверяем его на съёмный носитель "Removable". Если ок, то открываем раздел диска через CreateFile() , и пытаемся прочитать с него сектор ВРВ. Суть в том, что читать рекомендуется в асинхронном режиме , поскольку том может быть занят кем-то другим, например антивирусом. Если функцией ReadFile() читать синхронно, то функция может вернуть ошибку, мол диск недоступен. Поэтому мы используем асинхронный режим, в котором запрос ставится в очередь, а нам после вызова необходимо выждать пару секунд при помощи Sleep() . Этот способ требует в параметрах ReadFile() указатель на структуру "OVERLAPPED" и никогда не даёт осечек.

format pe console include 'win32ax.inc' include 'equates\fat.inc' entry start ;//---------- .data fatBuff rb 512*3 ntName db '\\?\GLOBALROOT' dosName db 32 dup(0) usbHndl dd 0 align 16 fpuRes0 dq 0 fpuRes1 dq 0 fpuRes2 dq 0 secSize dd 0 clsSize dd 0 kByte dd 1024 mByte dd 1024*1024 gByte dd 1024*1024*1024 ol OVERLAPPED rootDir dd 0 dumpByte dd 16 dumpLen db 8 dumpStr db 16 dup('.'),0 buff db 0 ;//---------- .code start: invoke SetConsoleTitle, <'*** USB-Flash FAT info ***',0>;//---- Проверим наличие клиента в портах USB invoke GetLogicalDriveStringsA,64,buff mov esi,buff @@: push esi invoke GetDriveType,esi ;// запрашиваем тип драйва.. pop esi cmp eax,DRIVE_REMOVABLE ;// извлекаемое устройство? je @ok add esi,4 cmp byte[esi],0 ;// последнее в списке? jne @b cinvoke printf, jmp @exit ;//---- Получаем имя и открываем девайс на асинх.чтение @ok: push esi cinvoke printf,,esi pop esi mov byte[esi+2],0 invoke QueryDosDevice,esi,dosName,32 cinvoke printf,,ntName invoke CreateFile,ntName,GENERIC_READ + GENERIC_WRITE,\ FILE_SHARE_READ + FILE_SHARE_WRITE,\ 0,OPEN_EXISTING,\ FILE_FLAG_OVERLAPPED + FILE_ATTRIBUTE_NORMAL,0 mov [usbHndl],eax ;//---- Читаем структуру "Bios Parametr Block" invoke ReadFile,[usbHndl],fatBuff,512,0,ol invoke Sleep,1000 ;//---- Проверим ф.систему на FAT32, иначе ошибка mov esi,fatBuff cmp word[esi+BPB.FATSz16],0 je @f cinvoke printf, jmp @exit ;//---- Есть FAT32! - собираем инфу.. @@: mov eax,BPB_32.FilSysType add eax,esi movzx ebx,[esi+BPB_32.Header.BytePerSector] movzx ecx,[esi+BPB_32.Header.SecPerCluster] mov edx,ecx imul ecx,ebx mov [secSize],ebx mov [clsSize],ecx shr ecx,10 cinvoke printf,,\ eax,ebx,edx,ecx ;//------------------------ mov esi,fatBuff mov eax,[esi+BPB_32.Header.HiddSec] mov ebx,[esi+BPB_32.Header.TotSec32] movzx ecx,[esi+BPB_32.Header.RsvdSecCounter] mov edx,ecx shl edx,9 shr edx,10 push 0 ebx fild qword[esp] fimul [secSize] fidiv [gByte] fstp [fpuRes0] add esp,8 cinvoke printf,,\ eax,ebx,dword[fpuRes0],dword[fpuRes0+4],ecx,edx ;//------------------------ mov esi,fatBuff movzx eax,[esi+BPB_32.Header.NumFats] movzx ebx,[esi+BPB_32.BkBootSec] movzx ecx,[esi+BPB_32.Header.RsvdSecCounter] mov edx,[esi+BPB_32.FATSz32] imul edx,[secSize] shr edx,10 cinvoke printf,,\ eax,ebx,ecx,[esi+BPB_32.FATSz32],edx ;//------------------------ ;// RootDir = (RsvdSecCount + (FATSz32 * NumFats)) + (RootCluster - 2) * SecPerCluster mov esi,fatBuff mov eax,[esi+BPB_32.FATSz32] movzx ebx,[esi+BPB_32.Header.RsvdSecCounter] shl eax,1 add eax,ebx ;// RsvdSecCount + (FATSz32 * NumFats) mov ebx,[esi+BPB_32.RootCluster] sub ebx,2 movzx ecx,[esi+BPB_32.Header.SecPerCluster] imul ebx,ecx ;// (RootCluster - 2) * SecPerCluster add eax,ebx mov [rootDir],eax cinvoke printf,,\ [esi+BPB_32.RootCluster],eax ;//------------------------ mov esi,fatBuff mov eax,BPB_32.Header.OemName mov ebx,BPB_32.VolLabel mov ecx,[esi+BPB_32.VolID] movzx edx,cx shr ecx,16 add eax,esi add ebx,esi cinvoke printf,,eax,ebx,ecx,edx ;//---- Читаем таблицу FAT, и выводим фрагмент её дампа xor al,al mov ecx,sizeof.OVERLAPPED mov edi,ol rep stosb mov esi,fatBuff movzx eax,[esi+BPB_32.Header.RsvdSecCounter] shl eax,9 mov [ol.Offset],eax invoke ReadFile,[usbHndl],fatBuff,512,0,ol invoke Sleep,1000 cinvoke printf, call PrintDump ;//---- Читаем корневой каталог, и так-же дампим фрагмент xor al,al mov ecx,sizeof.OVERLAPPED mov edi,ol rep stosb mov eax,[rootDir] shl eax,9 mov [ol.Offset],eax invoke ReadFile,[usbHndl],fatBuff,512,0,ol invoke Sleep,1000 cinvoke printf, call PrintDump @exit: invoke CloseHandle,[usbHndl] cinvoke _getch cinvoke exit,0 ;//------------------------------------------ ;// Вспомогательная процедура - выводит дамп ;//------------------------------------------ PrintDump: mov esi,fatBuff @next: mov edi,dumpStr xor ebx,ebx @prn: xor eax,eax lodsb push ebx eax cinvoke printf,,eax pop eax cmp al,20h jb @f mov byte[edi],al @@: inc edi pop ebx inc ebx cmp ebx,4 jb @f cinvoke printf, xor ebx,ebx @@: dec [dumpByte] jnz @prn push esi mov [dumpByte],16 invoke CharToOem,dumpStr,dumpStr cinvoke printf,,dumpStr mov eax,'. ' mov edi,dumpStr mov ecx,4 rep stosd cinvoke printf, pop esi dec [dumpLen] jnz @next mov [dumpLen],8 ret ;//---------- section '.idata' import data readable library msvcrt,'msvcrt.dll',kernel32,'kernel32.dll',user32,'user32.dll' include 'api\msvcrt.inc' include 'api\kernel32.inc' include 'api\user32.inc'

FAT_Result_1.png

Во-втором случае я решил поинтересоваться картой-памяти своего телефона и обнаружил, что размер кластера у неё 32КБ, поэтому и таблица FAT намного меньшего размера: была 7.692 секторов в длину, а стала 951. Более того, и сам том начинается не как обычно с физ.сектора(63), а съехал аж к сектору(8192), о чём говорит поле "Volume First LBA". В такой организации пространства есть смысл, т.к. нам заранее известны ориентировочные размеры файлов – это фотки, мультимедиа и прочие, т.е. больше стандартного кластера 4КБ:

FAT_Result_2.png

6. Заключение

Если не брать во-внимание детали оформления служебных структур, основным недостатком FAT32 является полное отсутствие "инстинкта самосохранения" при критических сбоях. Хорошо хоть инженеры предусмотрели некую пародию, в виде резервных блоков ВРВ и таблицы FAT2. Зато в NTFS всё продумано до мелочей, и в этом большое её преимущество. Например метафайл NTFS под названием "$LogFile" представляет собой журнал последней удачной конфигурации. Если случается крах, то при следующей перезагрузке, все параметры считываются уже из этого журнала, который драйвер NTFS обновляет при обычном выключении компьютера. Однако выбор у пользователей должен быть всегда, и FAT как-раз нам его предоставляет.
В скрепке лежит инклуд, и ехе-файл для тестов. Увидимся теперь на пороге Нового года, пока!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *