Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Системные файлы раздела NTFS.

Системные файлы раздела NTFS.

 Файловая система NTFS включает несколько системных файлов, которые скрыты от просмотра на томе. Системные файлы используются только файловой системой для хранения метаданных и поддержания работы файловой системы. Системные файлы записываются на том утилитой Format. Метаданные представляют собой файлы, которые NTFS использует для реализации структуры файловой системы. NTFS резервирует для метаданных первые 16 записей в таблице MFT (около 1 Мб). Остальные записи таблицы описывают файлы и каталоги. Поэтому первые 16 файлов называются метафайлами (см. табл. 1), они носят служебный характер и недоступны пользователю через операционную систему. Самый первый метафайл – это сам MFT. Эти первые 16 записей MFT имеют жестко фиксированное положение, так как на них указывает одно из полей блока параметров BIOS (BPB) загрузочного сектора раздела NTFS. Копия этих же 16 записей, для повышения надежности, хранится в геометрическом центре раздела диска, а одно из полей BPB содержит ссылку на них. Если в процессе загрузки операционной системы обнаружится, что одна из первых 16-ти записей испорчена, то система автоматически перейдет на использование их копий. Остальные записи MFT-файла могут располагаться, как и части любого другого файла, в произвольных кластерах раздела диска. Восстановить его положение можно с помощью его самого, используя за самую основу - первую запись файла MFT.

Все 16 метафайлов, которые определяются первыми 16-ю записями файла MFT, носят служебный характер, и каждый из них отвечает за какую-либо часть работы системы. NTFS может сместить, даже фрагментировать по диску, все свои служебные области (например, для обхода дефектов поверхности) за исключением первых 16 записей файла MFT. Метафайлы указаны в корневом каталоге NTFS диска и начинаются с символа имени "$". Получить какую-либо информацию о них стандартными средствами сложно. Для этих файлов указан их реальный размер и, посмотрев размер файла $MFT, можно узнать, например, сколько операционная система тратит на каталогизацию всего диска. Любой том NTFS содержит загрузочный сектор – BOOT, причем, содержимое загрузочного сектора раздела определяется конкретной операционной системой и используемой файловой системой. Но главная загрузочная запись жесткого диска МВRMaster Boot Record (MBR) не зависит от типа конкретной операционной системы.

Таблица 1. Системные файлы NTFS 

Системный файл

Имя файла

Описание

Master File Table (главная файловая таблица)

$Mft

Список содержимого тома NTFS

Master File ТаЫе2 (копия главной файловой таблицы)

$MftMirr

Зеркальное отображение наиболее важных частей MFT, используется для гарантирования доступа к MFT в случае сбоя одиночного сектора (копия первых 16 записей MFT, размещенная посередине диска)

Log File (регистрационный файл)

$LogFile

Log File System - файл поддержки журналирования. Список шагов транзакции используемых для восстановления состо яния (recoverability)

Volume (том)

$Volume

Имя версия и другая информация относительно тома

Attribute Definition (определение атрибутов)

$AttrDef

Таблица имен атрибутов номеров и Дескрипторов (список стандартных атрибутов файлов на томе)

Root Filename Index (индекс корня файловых имен)

$

Корневой каталог

Claster Bitmap (битовый массив кластеров)

$Bitmap

Описание содержимого тома показывающее какие размещаемые модули использованы (карта свободного места тома)

Boot File (загрузочный файл)

$Boot

Содержит информацию начальной загрузки для тома если том является загрузочным (загрузочный сектор если раздел загрузочный)

 

$Quota

файл, в котором записаны права пользователей на использование дискового пространства (начал работать лишь в NTFS 5)

 

$Upcase

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

Bad Cluster File (файл плохих кластеров)

$BadClus

Содержит указание положения плохих кластеров тома

Для каждого каталога и файла на томе NTFS в таблице MFT создается соответствующая запись (рис. 1). MFT также содержит отдельную запись о самом файле MFT. NTFS использует записи таблицы MFT для описания соответствующих им файлов. Записи MFT, или внешнее хранилище, на которое ссылаются записи MFT, хранят всю информацию о файле, включая его размер, дату и время создания, права доступа, его содержимое, и, что самое главное, списки кластеров, выделенных файлам. NTFS выделяет пространство под запись MFT в зависимости от размера кластеров файла. Атрибуты файла записываются в выделенное в таблице MFT пространство. Кроме атрибутов файла, каждая запись содержит данные о расположении записи файла в таблице MFT. Обычно каждый файл занимает одну запись. Если же файл имеет большое количество атрибутов или сильно фрагментирован, может понадобиться больше записей. В этом случае первая запись файла (базовая) содержит ссылку на следующую запись.

Небольшой файл может целиком храниться в записи MFT в Атрибуте 80. Возможность восстановления файлов из поврежденных разделов NTFS во многом определяется целостностью таблицы MFT и ее копии.

QIP Shot - Image: 2017-02-09 15:45:05

Рис. 1. Структура записи файла MFT.

Подобный подход обеспечивает очень быстрый доступ к файлам. Начальная (нулевая) запись таблицы описывает непосредственно главную файловую таблицу. За ней следует запись зеркальной копии (mirror record) MFT. При искажении первой записи MFT файловая система считывает первую запись, чтобы найти дубликат файла MFT. Третья запись MFT - файл регистрации log file - используется для восстановления файлов. Местоположение начального кластера записей MFT и их зеркальных копий указаны в секторе начальной загрузки. Семнадцатая и последующие записи главной файловой таблицы используются собственно файлами и каталогами на томе. В NTFS поиск файла производится только для непосредственного его использования. Записи каталога помещены внутри главной файловой таблицы так же, как записи файла. Вместо данных каталоги содержат индексную информацию. Небольшие записи каталогов находятся полностью внутри структуры MFT. Большие каталоги организованы в B-tree (эффективный способ адресации - бинарное дерево B-tree), имея записи с указателями на внешние кластеры, содержащие элементы каталога, которые не могли быть записаны внутри структуры MFT.

Каждому файлу на NTFS соответствует обязательный элемент - запись в MFT. Все файлы упоминаются в MFT, где хранится вся информация о файле, за исключением собственно данных (имя файла, размер, положение на диске отдельных фрагментов, и т.д.). Если для информации не хватает одной записи MFT, то используются несколько, причем не обязательно расположенные подряд. Файл может не иметь данных - в таком случае на него не расходуется свободное место самого диска. Файл может иметь не очень большой размер. Тогда данные файла хранятся прямо в MFT (в оставшемся от основных данных месте в пределах одной записи MFT). Файлы, занимающие сотни байт, обычно не имеют своего "физического" воплощения в основной файловой области - все данные такого файла хранятся в одном месте - в MFT. Каждый файл на NTFS, в общем-то, имеет несколько абстрактное строение - у него нет как таковых данных, а есть потоки данных (streams). Один из потоков соответствует собственно данным файла. Но большинство атрибутов файла - тоже потоки. Таким образом, в файловой системе NTFS каждому файлу жестко соответствует номер записи в MFT, а всё остальное опционально. Так как символьные данные представлены в кодировке Unicode - 16-битном представлении, которое дает 65535 разных символов, имя файла может содержать любые символы, включая полый набор национальных алфавитов. Максимальная длина имени файла - 255 символов. 


Лицензия