NTFS

NTFS (New Technology File System — «файловая система новой технологии») — файловая система, заточенная в качестве стандартной для операционных систем линейки Microsoft Windows NT.

NTFS пришла на смену использовавшейся в MS-DOS и Microsoft Windows файловой системе FAT. NTFS имеет поддержку системы метаданных, а также применяет определенные структуры данных для хранения информации о файлах с целью улучшения производительности, надежности и эффективности использования пространства жесткого диска. Информация о файлах в файловой системе NTFS расположена в главной файловой таблице — Master File Table (MFT). Также NTFS имеет встроенные возможности по разграничению доступа к данным для различных пользователей и групп пользователей - эта функция называется Access Control Lists (ACL) (списки контроля доступа) - и по назначению квоты для пользователей (максимальный объем дискового пространства). В NTFS применяется система журналирования USN, с целью повышения надежности файловой системы.

NTFS была создана на основе файловой системы HPFS (High Performance File System — высокопроизводительная файловая система), которая создавалась компанией Microsoft при сотрудничестве с IBM и предназначалась для операционной системы OS/2. Однако, получив такие преимущества, как квотирование, журналируемость, разграничение доступа и аудит, утратила присущую прародительнице (HPFS) высокую производительность файловых операций.

Существует несколько версий NTFS: v1.2 используется в Windows NT 3.51 и Windows NT 4.0, v3.0 поставляется с Windows 2000, v3.1 — с Windows XP, Windows Server 2003, Windows Server 2003 R2, Windows Vista, Windows 7 и Windows Server 2008, Windows Server 2008 R2.

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

Общие данные

Дата представления

Июль 1993 (Windows NT 3.1)

Метка тома

0x07 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)

Структура

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

B±дерево

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

Bitmap

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

$badclus

Ограничения

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

264 байтов (16 ЭБ) минус 1 КБ

Максимум файлов

4 294 967 295 (232−1)

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

255 UTF-16 16-битных слов

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

264 − 1 кластер

Допустимые символы в названиях

В пространстве имён Posix любое из 16-битных слов в кодировке UTF-16 (чувствительных к регистру) за исключением U+0000 (NUL) и / (косая). В пространстве имён Win32 любое 16-битное слово в кодировке UTF-16 (не чувствительные к регистру) за исключением U+0000 (NUL) / (косая) \ (обратная косая) : (двоеточие) * (звездочка) ? (знак вопроса) " (кавычки) < (знак меньше) > (знак больше) и | (пайп) [4]

Возможности

Свойства

Создание, изменение, изменения согласно POSIX, доступ

Диапазон дат

1 января 1601 — 28 мая 60056 (на хранение даты и времени отведено 64 бита, шаг — 100-наносекунд (десять миллионов интервалов в секунду), что позволит указать дату и время в промежутке из 58 тысяч лет)

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

100 наносекунд

Атрибуты

Только чтение (Read-only), Скрытый (hidden), Системный (system), Требует архивации (archive), Не проиндексирован (not content indexed), Недоступен (off-line), Временный (temporary), Сжатый (compressed)

Права доступа

ACL

Фоновая компрессия

По-файлово, LZ77 (Windows NT 3.51 и старше)

Фоновое шифрование

По-файлово,
DESX (Windows 2000 и старше),
Triple DES (Windows XP и старше),
AES (Windows XP Service Pack 1, Windows Server 2003 и старше)

Поддерживается ОС

Семейство Windows NT: (начиная с Windows NT 3.1 до Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7, Windows Server 2008 R2), Mac OS X, Linux


Поддержка ОС

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

MS-DOS

  • Драйвер NTFSDOS Марка Руссиновича (Mark Russinovich) — поддержка чтения, а в версии Professional и записи на NTFS-разделы.

Windows 9x

  • Драйвер NTFS for Windows 98, разработчиком является также Марк Руссинович. Драйвер поддерживает чтение с разделов, но для записи можно использовать драйвер DOS. На сайте Microsoft также отсутствует информация об этом драйвере, но его легко можно отыскать на сторонних сайтах.
  • Драйвер Paragon Software Group NTFS for Windows 98. Поддерживает как чтение, так и запись. Версия бесплатна для некоммерческого использования.

Linux

  • Linux-NTFS. Проект включает модуль ядра, а также набор утилит для различных операций с файловыми системами NTFS. Этот драйвер включается в ядро Linux с версии 2.2. Модуль ядра поддерживает практически только чтение, запись же — производится в существующие файлы без изменения их размера. Однако, не так давно в рамках проекта появилась утилита ntfsmount, использующая FUSE и позволяющая монтировать NTFS-разделы на запись с некоторыми ограничениями. Это первый свободный в распространении продукт, обладающий такой возможностью.
  • NTFS-3G. Проект образовался в виде ответвления от предыдущего проекта, и отличается более полной поддержкой записи на NTFS-разделы. Является стабильным (версия 1.0) с 21 февраля 2007 года. Способен обеспечить высокий уровень надежности и производительности. Сейчас, проект активно развивается.
  • Captive NTFS. Проект создавался как «обертка» для использования оригинального драйвера Windows NT в ОС Linux. Также существует возможность записи, однако драйвер работает медленно и имеет некоторые технические ограничения. На официальном сайте содержится информация о том, что проект более не развивается.
  • Paragon NTFS for Linux. Драйвер поддерживает чтение и запись, также имеется ряд утилит для создания и некоторых операций с NTFS-разделами. Бесплатный для домашних пользователей.

OpenSolaris/Solaris

  • NTFS File System Reader для чтения NTFS.
  • NTFS-3G, требует установки дополнительных пакетов.

BeOS-совместимые ОС (BeOS, Zeta и Haiku)

  • Системный драйвер для чтения и экспериментальный драйвер, поддерживающий чтение и запись.

KolibriOS

  • Поддержка чтения разделов и запуска программ с версии 0.6.5. Драйвер написан только на ассемблере.

Mac OS X

Формат NTFS в Mac OS X по умолчанию воспроизводится в режиме чтения. После официального выхода Mac OS X 10.6 Snow Leopard была добавлена возможность включения поддержки не только чтения, но и записи на файловую систему NTFS стандартным драйвером:

  • Поддержка чтения и записи NTFS в Mac OS X 10.6 Snow Leopard стандартными средствами.
  • Поддержка чтения и записи NTFS в Mac OS X 10.7 Lion стандартными средствами.

Существуют и сторонние драйверы для поддержки чтения и записи NTFS в операционной системе Mac OS X:

  • Paragon NTFS
  • NTFS-3G
  • MacFUSE 2.0

Сравнительная таблица файловых систем FAT и NTFS

Ограничения / возможности

NTFS

FAT16 и FAT32

Размеры диска

264 байт (16 эксабайт или 18 446 744 073 709 551 616 байт)

~ 8 терабайт

Размер тома

Теоретически — 264 минус 1 кластер. Разметка диска в стиле MBR дает возможность создавать разделы с размером не превышающим 2 ТБ. Чтобы обойти это ограничение, необходимо использование динамических дисков или разметки GPT, поддерживающей разделы диска размером до 9.4 ЗБ (9.4 × 1021 байт). Выбор стиля разметки предоставляется при инициализации диска (начиная с версии Windows NT 6.0).

Запись в таблице FAT на томе с файловой системой FAT32 - размером 4 байта, средство ScanDisk не может работать с таблицей FAT на диске FAT32, описывающей более 4 177 920 кластеров (включая два резервных). С учетом самих таблиц FAT и при максимальном размее кластера 32 КБ размер тома может быть до 127,53 ГБ. В Windows 2000 нельзя отформатировать том размером более 32 ГБ с файловой системой FAT32. Драйвер FastFAT для Windows 2000 может подключать и поддерживать тома размером больше 32 ГБ с файловой системой FAT32 (с определенными ограничениями), но такой том нельзя создать с помощью команды «Format».

Форматирование дискет

Windows не позволяет форматировать дискеты в NTFS.

Поддержка типов ссылок

NTFS поддерживает жёсткие (Hardlinks) и символьные ссылки, Junctions, Volume Mount Point.

FAT не поддерживает ссылки.

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

Теоретически — 264 байт минус 1 килобайт.

Практически — 244 байт минус 64 килобайта (~16384 гигабайт или ~16 терабайт).

FAT16 поддерживает файлы размером не более 2 ГБ.

FAT32 поддерживает файлы размером не более 4 ГБ.

Средства безопасности.

Атрибуты файлов, авторизация с использованием DACL, шифрование с использованием EFS.

Атрибуты файлов.

Аудит

С использованием SACL.

Не поддерживается.

Поддержка сжатия

На уровне файловой системы для файлов, каталогов и дисков.

На уровне диска (в FAT16). В FAT32 не поддерживается.

Максимальное количество файлов

4 294 967 295 (232 — 1).

В FAT32 не более 268 435 444 (228−12)

#