Структура NTFS

Структура тому NTFS представлена ​​на рис. 1.

тома

Мал. 1. Структура NTFS-тому

Важливою особливістю NTFS і те, що вся інформація, як користувальницька, і системна, зберігається як файлів. Імена системних файлів починаються зі знака "$". Наприклад, завантажувальний запис тома міститься у файлі $Boot, а головна таблиця файлів – у $Mft. Така організація інформації дозволяє однаково працювати як з користувачами, і з системними даними на томі.

Оскільки MFT є найважливішою системною структурою, до якої при операціях з томом найчастіше відбуваються звернення, вигідно зберігати файл $Mft у безперервній області логічного диска, щоб уникнути йогофрагментації(розміщення в різних областях диска), і, отже підвищення швидкості роботи з ним. З цією метою при форматуванні тому виділяється безперервна область, званазоною MFT(MFT Zone). У міру збільшення головної таблиці файлів файл $Mft розширюється, займаючи зарезервоване місце в зоні.

Решта місця на томі NTFS відводиться під файли – системні та користувацькі.

Розглянемо докладніше структуру MFT (рис. 2).

файл

Мал. 2. Головна таблиця файлів MFT

Перерахуємо такі записи в таблиці MFT і коротко опишемо призначення відповідних системних файлів:

  • $LogFile – файл журналу, в якому записується інформація про всі операції, що змінюють структуру тома NTFS, наприклад створення файлів і каталогів. Файл журналу використовується для відновлення тома NTFS після збоїв;
  • $Volume – файл інформації про том, у якому містяться ім'я тома (Volume label), версія NTFS та набір прапорів стану тому, наприклад, прапор (т. зв.брудний біт,dirty bit), встановлення якогоозначає, що том був пошкоджений і потребує відновлення за допомогою системної утилітиChkdsk;
  • $AttrDef – таблиця визначення атрибутів (Attribute Definition Table), що містить можливі на цьому томі типи атрибутів файлів (див. далі);
  • Root Directory (позначається також зворотним слешем "\") - файл з інформацією про кореневий каталог тома. У ньому зберігаються посилання файли і каталоги, які у кореневому каталозі;
  • $BitMap – файл бітової карти (bitmap), кожен біт у цій карті відповідає кластеру на томі: якщо біт дорівнює 1, кластер зайнятий, інакше – вільний;
  • $Boot – файл завантажувального запису тома;
  • $ BadClus – файл поганих кластерів (bad clusters), що містить інформацію про всіх кластерів, які мають збійні сектори (bad sectors).

Крім перелічених, є інші системні файли NTFS, а нових версіях з'являються нові системні файли.

Далі розглянемо, що є файл у системі NTFS.