NTFS

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
NTFS
Разработчик

Microsoft

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

NTFS — new technology file system[1]

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

Июль 1993 года (Windows NT 3.1)

Метка тома
  • Для MBR: 0x07.
  • Для GPT: EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
Структура
Содержимое папок

B±дерево[2]

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

Bitmap

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

$badclus

Ограничения
Максимальный размер файла

264 байт (16 ЭБ) минус 1 КБ[3]

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

4 294 967 295 (232-1)[3]

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

255 16-битовых слов в кодировке UTF-16[4]

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

264 − 1 кластер[3]

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

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

Диапазон дат

1 января 1601 года — 28 мая 60 056 года
Для хранения даты и времени отведено 64 бита; шаг — 100 наносекунд (десять миллионов интервалов в секунду). Это позволяет указать дату и время в промежутке из 58 тысяч лет.

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

100 наносекунд

Потоки метаданных

Да (см. альтернативные потоки данных)

Атрибуты
  • Только чтение (англ. read-only);
  • скрытый (англ. hidden);
  • системный (англ. system);
  • требует архивирования (англ. archive);
  • не проиндексирован (англ. not content indexed);
  • недоступен (англ. off-line);
  • временный (англ. temporary);
  • сжатый (англ. compressed);
  • зашифрованный (англ. encrypted).
Права доступа

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, Windows 8, Windows Server 2012), Mac OS X, Linux

NTFS (аббревиатура от англ. new technology file system — «файловая система новой технологии») — стандартная файловая система для семейства операционных систем Windows NT фирмы Microsoft.

NTFS поддерживает хранение метаданных. С целью улучшения производительности, надёжности и эффективности использования дискового пространства для хранения информации о файлах в NTFS используются специализированные структуры данных. Информация о файлах хранится в главной файловой таблице — Master File Table (MFT). NTFS поддерживает разграничение доступа к данным для различных пользователей и групп пользователей (списки контроля доступа — англ. access control lists, ACL), а также позволяет назначать дисковые квоты[en] (ограничения на максимальный объём дискового пространства, занимаемый файлами тех или иных пользователей). Для повышения надёжности файловой системы в NTFS используется система журналирования USN. Для NTFS размер кластера по умолчанию составляет от 512 байт до 64 КБ в зависимости от размера тома и версии ОС[5].

История[править | править вики-текст]

Файловая система NTFS заменила файловую систему FAT, использовавшуюся в ОС MS-DOS и ОС Windows.

Файловая система NTFS разработана на основе файловой системы HPFS[источник не указан 149 дней]. HPFS — аббревиатура от англ. high performance file system — высокопроизводительная файловая система, разработку которой вела фирма Microsoft совместно с фирмой IBM для операционной системы OS/2. Впоследствии разработчики из фирмы Microsoft добавили[источник не указан 149 дней] в HPFS-квотирование (англ.), журналируемость, разграничение доступа и аудит, назвали файловую систему NTFS. NTFS в значительной степени утратила присущую прародительнице (HPFS) весьма высокую производительность файловых операций.

Существует мнение[источник не указан 149 дней], что прямым предком NTFS является файловая система Files-11 из ОС RSX-11 и ОС OpenVMS. Сравнение файловых систем NFTS и HPFS приведено в следующей таблице.

Параметр NTFS Files-11 HPFS
Что используется для размещения файлов? Кластеры Кластеры Полосы по 8 Мб, разбитые на секторы
Что используется для пометки кластеров, как занятых? По одной битовой карте для каждого тома По одной битовой карте для каждого тома По одной битовой карте секторов на каждую полосу
Как хранится информация о файлах и каталогах? В пространстве MFT хранится информация и о файлах, и о каталогах Почти также, как в NTFS, но аналогичный MFT каталог называется MFD Традиционные каталоги[прояснить]
Поддержка контроля доступа Реализуется с помощью набор прав доступа Реализуется почти также, как в NTFS Контроль доступа не встроен в файловую систему. Поддержка этой возможности реализуется внешними процессами
Поддержка потоков данных Для каждого файла можно создать ограниченное только ёмкостью тома множество именованных потоков. Имя потока записывается в виде «filename.ext:streamname» (имя файла с расширением, символ «:» (двоеточие), имя потока). Прямого аналога потоков нет, есть понятие версии файла. Версии именуются «filename.ext;version» аналогично синтаксису имён потоков в NTFS Потоки не поддерживаются. Имеется только 64 Кб для хранения расширенных атрибутов.

Версии NTFS[править | править вики-текст]

Различают несколько версий NTFS. Номер версии драйвера файловой системы (NTFS.sys) не стоит в зависимости от версии самой файловой системы.

Версия NTFS Поддержка со стороны ОС Примечания
Windows Другие
1.0 Windows NT 3.1 н/д
1.1 Windows NT 3.5 н/д
1.2 Windows NT 3.51 н/д Встречается название, в версии драйвера — «NTFS 4.0»
2.x н/д н/д Нет официальных данных о выпуске NTFS данной версии
3.0 Windows 2000 Встречаются названия «NTFS V5.0» и «NTFS5».
В этой версии появились дисковые квоты (англ.), шифрование файлов и папок, разрежение файлов, точки перехода (англ.), обновлён порядковый номер журналирования (USN), добавлена папка (и её файлы) $Extend, внесены изменения в организацию дескрипторов безопасности (для разных файлов одинаковые настройки безопасности могут описываться одним дескриптором).
3.1 Windows XP,
Windows Server 2003,
Windows Server 2003 R2,
Windows Vista,
Windows 7,
Windows Server 2008,
Windows Server 2008 R2,
Windows 8,
Windows Server 2012 RTM
н/д Вышла осенью 2001 года с выпуском Windows XP. Встречается название «NTFS V5.1». Добавлено сохранение резервной копии MFT.

Поддержка операционными системами[править | править вики-текст]

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

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

MS-DOS[править | править вики-текст]

Windows 9x[править | править вики-текст]

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

Linux[править | править вики-текст]

  • Проект «Linux-NTFS». Включает модуль ядра и набор утилит для выполнения различных операций с файловой системой NTFS (проверка целостности, восстановление удалённых файлов, изменение размера и др.). Именно этот драйвер включается в ядро Linux ещё с версии 2.2 (с тех пор он был практически полностью переписан). Модулем ядра поддерживается практически только чтение; запись возможна лишь в существующие файлы без изменения их размера. Недавно в рамках проекта появилась утилита ntfsmount, использующая FUSE и позволяющая монтировать разделы NTFS с возможностью записи (с некоторыми ограничениями). Это был первый полностью свободный продукт, имеющий такую возможность.
  • Проект «NTFS-3G». Возник как ответвление от проекта «Linux-NTFS». Отличается более полной поддержкой записи на разделы NTFS. 21 февраля 2007 года была выпущена версия 1.0, названная стабильной. Обеспечивает высокий уровень надёжности и производительности. В настоящее время проект активно развивается.
  • Проект «Captive NTFS» ([1]). Создавался как «обёртка» для использования оригинального драйвера из ОС Windows NT в ОС Linux. Запись поддерживается, но драйвер работает крайне медленно и имеет некоторые технические ограничения. На официальном сайте проекта помещено объявление о прекращении разработки.
  • Драйвер «NTFS for Linux» от фирмы Paragon Software. Драйвер поддерживает чтение и запись с NTFS. Кроме драйвера проект поставляет ряд утилит для создания файловой системы NTFS и выполнения некоторых операций с разделами NTFS. Доступен бесплатно для домашних пользователей[7].

OpenSolaris/Solaris[править | править вики-текст]

  • Проект «NTFS-3G». Необходимо установить дополнительные пакеты[8].

BeOS-совместимые операционные системы[править | править вики-текст]

Для операционных систем BeOS, Zeta и Haiku существуют следующие проекты.

KolibriOS[править | править вики-текст]

ReactOS[править | править вики-текст]

Реализована поддержка NTFS "на чтение" через свободный драйвер собственного производства.

Mac OS X[править | править вики-текст]

  • В ОС Mac OS X встроенный драйвер NTFS по умолчанию работает в режиме чтения. После официального выхода ОС «Mac OS X 10.6 Snow Leopard» была найдена возможность включения поддержки записи на NTFS[9].
  • Драйвер «NTFS-3G»[10].

Сравнение файловых систем FAT и NTFS[править | править вики-текст]

Ограничения / возможности NTFS FAT16 и FAT32
Размеры диска 264 байт (16 экзабайт или 18 446 744 073 709 551 616 байт) Приблизительно равняется 8 терабайт
Размер тома Теоретически — 264 — 1 кластер. Разметка диска в стиле MBR позволяет создавать разделы, размеры которых не превышают 2 ТБ. Чтобы обойти это ограничение, необходимо использование динамических дисков или разметки GPT (используя GPT, можно создать разделы диска размером до 9.4 ЗБ (9.4 × 1021 байт). Выбор стиля разметки предоставляется при инициализации (первоначальной разметке) диска, начиная с версии Windows Server 2003 SP1, Windows XP x64 Edition, Windows Server 2003 x64 Edition и все версии NT выше 6.0[11].

Минимальный размер тома: 8 Мб.
Минимальный рекомендуемый размер тома: 10 Мб[12].

Запись в таблице 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. Существует утилита ntfsflp от Марка Руссиновича; утилита побайтово записывает на дискету готовый бинарный образ тома NTFS; размер тома совпадает с размером дискеты.
Поддержка ссылок разных типов NTFS поддерживает жёсткие (англ. hard links) и символьные ссылки, соединения для каталогов (англ. junctions), volume mount point[en]. FAT не поддерживает ссылки.
Максимальный размер файла Теоретически — 264 байт минус килобайт.
Практически — 244 байт минус 64 килобайта (~16 384 гигабайт или ~16 терабайт)[13].
FAT16 поддерживает файлы размером не более 2 ГБ.
FAT32 поддерживает файлы размером не более 4 ГБ.
Средства безопасности. Атрибуты файлов, авторизация с использованием DACL, шифрование с использованием EFS. Атрибуты файлов.
Аудит С использованием SACL. Не поддерживается.
Поддержка сжатия. На уровне файловой системы для файлов, каталогов и дисков. На уровне диска (в FAT16). В FAT32 не поддерживается.
Максимальное количество файлов 4 294 967 295 (232-1). В FAT32 не более 268 435 444 (228-12)

Примечания[править | править вики-текст]

  1. Windows XP: Format backup drives using NTFS. Microsoft (7 сентября 2006 года). Архивировано из первоисточника 25 августа 2011.
  2. Mark Russinovich. Inside Win2K NTFS, Part 1. Microsoft Developer Network. Проверено 18 апреля 2008. Архивировано из первоисточника 25 августа 2011.
  3. 1 2 3 Microsoft Corporation. How NTFS works. Проверено 27 января 2008. Архивировано из первоисточника 25 августа 2011.
  4. 1 2 3 Richard Russon and Yuval Fledel. NTFS Documentation(недоступная ссылка — история). Проверено 1 июля 2007. Архивировано из первоисточника 13 февраля 2006.
  5. Размер кластера по умолчанию для FAT, NTFS и exFAT.
  6. 1 2 Microsoft TechNet: Windows Sysinternals (англ.). Проверено 25 сентября 2007 года. Архивировано из первоисточника 25 августа 2011.
  7. NTFS for Linux Express (англ.). Проверено 28 августа 2008 года. Архивировано из первоисточника 25 августа 2011.
  8. How to mount NTFS and FAT32 partitions in OpenSolaris 2008.11
  9. Включение поддержки чтения и записи NTFS стандартными средствами:
  10. NTFS-3G stable read and write driver
  11. Windows and GPT FAQ
  12. Choosing between NTFS, FAT, and FAT32. Microsoft. Проверено 13 сентября 2015.
  13. Microsoft Corporation. How NTFS Works. Проверено 1 июля 2009. Архивировано из первоисточника 25 августа 2011.

Ссылки[править | править вики-текст]