Открыть сервис

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

NTFS (New Technology File System) — это журналируемая файловая система, разработанная корпорацией Microsoft для операционных систем семейства Windows NT. Она пришла на смену файловой системе FAT (File Allocation Table) и обеспечивает поддержку больших объёмов данных, расширенные права доступа, сжатие и шифрование на уровне файлов, а также устойчивость к сбоям благодаря ведению журнала изменений.

История

Разработка NTFS началась в начале 1990-х годов в рамках проекта по созданию новой операционной системы Windows NT. Первая версия, NTFS 1.0, была представлена в 1993 году с выходом Windows NT 3.1. Основной целью было создание надёжной и масштабируемой файловой системы, способной работать с дисками большого объёма и обеспечивать безопасность данных на уровне ядра.

В 2000 году с выходом Windows 2000 была представлена версия NTFS 3.0, которая получила поддержку точек повторной обработки, шифрованной файловой системы (EFS) и дисковых квот. В Windows XP (2001) появилась версия NTFS 3.1, которая используется до сих пор с незначительными изменениями. В последующих версиях Windows (Vista, 7, 8, 10, 11) функциональность NTFS расширялась за счёт новых возможностей, таких как теневые копии, дедупликация данных и поддержка разрежённых файлов.

Структура и основные компоненты

NTFS использует сложную иерархическую структуру для хранения метаданных и пользовательских данных. Основные компоненты файловой системы включают:

  • Главная таблица файлов (MFT, Master File Table)центральный каталог, содержащий записи обо всех файлах и папках на томе. Каждая запись MFT имеет фиксированный размер (обычно 1 КБ) и хранит атрибуты файла, такие как имя, размер, временные метки, права доступа и расположение данных на диске.
  • Загрузочный сектор — первый сектор тома, содержащий загрузочный код и параметры файловой системы (размер кластера, количество секторов, расположение MFT).
  • Журнал изменений ($LogFile) — системный файл, в который записываются все операции, изменяющие структуру файловой системы (создание, удаление, переименование файлов, изменение атрибутов). В случае сбоя (например, отключения питания) журнал позволяет восстановить целостность системы путём отката незавершённых операций.
  • Файлы метаданных — набор системных файлов, начинающихся с символа $ (например, $MFT, $LogFile, $Volume, $AttrDef, $Bitmap, $Boot, $BadClus, $Secure, $UpCase, $Extend). Они управляют работой файловой системы и не видны пользователю в обычном режиме.
  • Кластеры — минимальные единицы хранения данных. Размер кластера задаётся при форматировании и может варьироваться от 512 байт до 2 МБ в зависимости от размера тома. NTFS поддерживает кластеры размером до 64 КБ для томов большого объёма.

Основные возможности

Журналирование

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

Права доступа и безопасность

NTFS поддерживает разграничение доступа к файлам и папкам на основе списков управления доступом (ACL, Access Control Lists). Каждому файлу или папке может быть назначен набор разрешений для отдельных пользователей и групп (чтение, запись, выполнение, изменение, полный доступ). Эти механизмы интегрированы с системой безопасности Windows и позволяют реализовать гибкую политику доступа.

Шифрование

Начиная с версии NTFS 3.0, поддерживается шифрованная файловая система (EFS, Encrypting File System), которая позволяет шифровать отдельные файлы и папки на уровне ядра. Шифрование прозрачно для пользователя: данные автоматически расшифровываются при чтении и шифруются при записи, если у пользователя есть соответствующий сертификат. EFS использует симметричное шифрование (алгоритм AES) для данных и асимметричное для ключей.

Сжатие

NTFS поддерживает сжатие файлов и папок на уровне файловой системы. Сжатие выполняется прозрачно: данные сжимаются при записи и распаковываются при чтении. Используются алгоритмы LZNT1 и LZX. Сжатие может применяться к отдельным файлам, папкам или целым томам, но оно не рекомендуется для файлов, которые уже сжаты (например, архивы ZIP, изображения JPEG, видео), так как это может привести к увеличению размера.

Дисковые квоты

NTFS позволяет устанавливать квоты на использование дискового пространства для отдельных пользователей. Администратор может задать лимит на объём данных, который может хранить пользователь, а также настроить предупреждения при приближении к лимиту. Квоты отслеживаются на уровне тома.

Точки повторной обработки и жёсткие ссылки

NTFS поддерживает точки повторной обработки (reparse points) — специальные теги, которые позволяют перехватывать операции ввода-вывода и перенаправлять их на другие файлы или устройства. На основе точек повторной обработки реализованы такие функции, как точки монтирования томов, символические ссылки и точки соединения (junction points). Также NTFS поддерживает жёсткие ссылки (hard links) — несколько записей в каталоге, указывающих на один и тот же файл.

Разрежённые файлы

NTFS поддерживает разрежённые файлы (sparse files) — файлы, в которых большие области содержат нулевые байты и не занимают места на диске. Это полезно для приложений, работающих с большими разреженными массивами данных (например, базы данных, виртуальные машины).

Ограничения

Несмотря на широкие возможности, NTFS имеет ряд ограничений:

  • Максимальный размер тома — теоретически до 256 ТБ при размере кластера 64 КБ, но на практике в Windows ограничение составляет 256 ТБ для версий до Windows 10 и 32 ТБ для более старых версий.
  • Максимальный размер файла — теоретически до 16 ЭБ (эксабайт), но на практике ограничен размером тома.
  • Максимальная длина пути — 32 767 символов (включая символы Юникода), но для многих приложений действует ограничение в 260 символов (MAX_PATH), которое можно обойти с помощью специальных префиксов.
  • Отсутствие нативной поддержки в других ОС — NTFS является проприетарной файловой системой Microsoft. Для чтения и записи NTFS в Linux и macOS требуются сторонние драйверы (например, NTFS-3G), которые могут иметь ограничения по производительности и функциональности.

Применение

NTFS является основной файловой системой для операционных систем Windows начиная с Windows NT 3.1. Она используется на жёстких дисках, твердотельных накопителях (SSD), внешних USB-накопителях и картах памяти. В корпоративной среде NTFS применяется для хранения данных на серверах, в системах резервного копирования и виртуализации.

NTFS также используется в некоторых игровых консолях (Xbox 360, Xbox One, Xbox Series X/S) и встраиваемых устройствах на базе Windows Embedded.

Сравнение с другими файловыми системами

ХарактеристикаNTFSFAT32exFAText4 (Linux)
ЖурналированиеДаНетНетДа
Максимальный размер файла16 ЭБ4 ГБ16 ЭБ16 ТБ
Максимальный размер тома256 ТБ2 ТБ128 ПБ1 ЭБ
Права доступаДаНетНетДа
ШифрованиеДа (EFS)НетНетДа (eCryptfs, LUKS)
СжатиеДаНетНетДа (ZFS, Btrfs)
Поддержка в WindowsНативнаяНативнаяНативнаяЧерез драйверы
Поддержка в LinuxЧерез драйверыНативнаяНативнаяНативная

Интересные факты

  • Изначально NTFS разрабатывалась совместно с Microsoft и компанией IBM для OS/2, но после разрыва партнёрства Microsoft продолжила разработку самостоятельно.
  • В NTFS существует понятие «альтернативных потоков данных» (ADS, Alternate Data Streams), которые позволяют хранить несколько потоков данных в одном файле. Это используется, например, для хранения метаданных загруженных из интернета файлов (зона безопасности).
  • NTFS поддерживает дедупликацию данных, начиная с Windows Server 2012, что позволяет экономить дисковое пространство за счёт хранения только одной копии повторяющихся блоков данных.
  • Файловая система NTFS не поддерживается на съёмных носителях, отформатированных в FAT32 или exFAT, для совместимости с другими устройствами (например, телевизорами, медиаплеерами, игровыми приставками).

Источники

  • Microsoft Docs. «NTFS overview». Windows Server documentation.
  • Russinovich, M., Solomon, D. «Windows Internals, Part 2». 7th edition. Microsoft Press, 2012.
  • Carrier, B. «File System Forensic Analysis». Addison-Wesley, 2005.
  • NTFS.com. «NTFS Technical Reference».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →