NTFS
NTFS | |
---|---|
Разработчик | Майкрософт |
Файловая система | NTFS — new technology file system[1] |
Дата представления | Июль 1993 года (Windows NT 3.1) |
Метка тома | |
Структура | |
Содержимое папок | B±дерево[2] |
Размещение файлов | Bitmap |
Сбойные сектора | $badclus |
Ограничения | |
Максимальный размер файла | 264 байт (16 ЭиБ) минус 1 КиБ[3] |
Максимум файлов | 4 294 967 295 (232−1)[3] |
Максимальная длина имени файла | 255 16-битовых слов в кодировке UTF-16[4][5] |
Максимальный размер тома | 264 − 1 кластер[3] |
Допустимые символы в названиях |
|
Возможности | |
Свойства | Создание, изменение, изменения согласно POSIX, доступ |
Диапазон дат |
1 января 1601 года — 28 мая 60 056 года |
Точность хранения даты | 100 наносекунд |
Потоки метаданных | Да (см. альтернативные потоки данных) |
Атрибуты | |
Права доступа | 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 Windows 10, Windows Server 2016, Windows 11 ), macOS, Linux |
NTFS (аббревиатура от англ. new technology file system — «файловая система новой технологии») — стандартная файловая система для семейства операционных систем Windows NT фирмы Microsoft.
NTFS поддерживает хранение метаданных. С целью улучшения производительности, надёжности и эффективности использования дискового пространства для хранения информации о файлах в NTFS используются специализированные структуры данных. Информация о файлах хранится в главной файловой таблице — Master File Table (MFT). NTFS поддерживает разграничение доступа к данным для различных пользователей и групп пользователей (списки контроля доступа — англ. access control lists, ACL), а также позволяет назначать дисковые квоты[англ.] (ограничения на максимальный объём дискового пространства, занимаемый файлами тех или иных пользователей). Для повышения надёжности файловой системы в NTFS используется система журналирования USN. Для NTFS размер кластера по умолчанию составляет от 512 байт до 2 МБ в зависимости от размера тома и версии ОС[6].
История
[править | править код]Файловая система NTFS заменила файловую систему FAT, использовавшуюся в ОС MS-DOS и ОС Windows.
Файловая система NTFS разработана на основе файловой системы HPFS[7]. HPFS — аббревиатура от англ. high performance file system — высокопроизводительная файловая система, разработку которой вела фирма Microsoft совместно с фирмой IBM для операционной системы OS/2. Впоследствии разработчики из фирмы Microsoft добавили[8] в HPFS квотирование[англ.], журналируемость, разграничение доступа и аудит, назвали файловую систему NTFS. NTFS в значительной степени утратила присущую прародительнице (HPFS) весьма высокую производительность файловых операций.
Сравнение файловых систем NTFS и 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» и «NTFS 5». В этой версии появились дисковые квоты[англ.], шифрование файлов и папок, разрежение файлов, точки перехода[англ.], обновлён порядковый номер журналирования (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 Windows 8.1 Windows 10 Windows Server 2016 Windows Server 2019 Windows 11 |
Вышла осенью 2001 года с выпуском Windows XP. Встречается название «NTFS V5.1». Добавлено сохранение резервной копии MFT. |
Поддержка операционными системами
[править | править код]Спецификации файловой системы NTFS закрыты. Это создаёт определённые трудности при реализации её поддержки в продуктах, не принадлежащих фирме Microsoft, например, разработчикам драйверов для свободных операционных систем приходится заниматься обратной разработкой файловой системы NTFS.
В данный момент полноценная поддержка NTFS присутствует только в ОС семейства Windows NT от фирмы Microsoft. Существующие средства доступа к разделам NTFS для других ОС перечислены ниже.
MS-DOS
[править | править код]- Драйвер «NTFSDOS» от Марка Руссиновича (англ. Mark Russinovich). Стандартная версия поддерживает чтение разделов NTFS. Версия «Professional» поддерживает запись на разделы NTFS. С июля 2006 года права на утилиты Марка Руссиновича принадлежат фирме Microsoft[9]. На сайте фирмы Microsoft информации об этом продукте нет, но её без труда можно найти в сети.
- Драйвер «
NTFS for Windows 98
» от Марка Руссиновича[9]. Поддерживает чтение с разделов NTFS. Для записи можно использовать драйвер DOS. На сайте фирмы Microsoft информация об этом драйвере отсутствует, но его легко можно отыскать на сторонних сайтах. - Драйвер «NTFS for Windows 98 Архивная копия от 31 августа 2009 на Wayback Machine» от фирмы Paragon Software Group. В настоящий момент поддерживает как чтение, так и запись. Версия бесплатна для некоммерческого использования.
- Проект «Linux-NTFS Архивная копия от 21 февраля 2006 на Wayback Machine». Включает модуль ядра и набор утилит для выполнения различных операций с файловой системой NTFS (проверка целостности, восстановление удалённых файлов, изменение размера и др.). Именно этот драйвер включается в ядро Linux ещё с версии 2.2 (с тех пор он был практически полностью переписан). Модулем ядра поддерживается практически только чтение; запись возможна лишь в существующие файлы без изменения их размера. Недавно в рамках проекта появилась утилита
ntfsmount
, использующая FUSE и позволяющая монтировать разделы NTFS с возможностью записи (с некоторыми ограничениями). Это был первый полностью свободный продукт, имеющий такую возможность. - Проект «NTFS-3G». Возник как ответвление от проекта «Linux-NTFS Архивная копия от 21 февраля 2006 на Wayback Machine». Отличается более полной поддержкой записи на разделы NTFS. 21 февраля 2007 года была выпущена версия 1.0, названная стабильной. Обеспечивает высокий уровень надёжности и производительности. В настоящее время[когда?] проект активно развивается.
- Проект «Captive NTFS» ([1] Архивная копия от 14 января 2010 на Wayback Machine). Создавался как «обёртка» для использования оригинального драйвера из ОС Windows NT в ОС Linux. Запись поддерживается, но драйвер работает крайне медленно и имеет некоторые технические ограничения. На официальном сайте проекта помещено объявление о прекращении разработки.
- Драйвер «NTFS for Linux Архивная копия от 14 февраля 2006 на Wayback Machine» от фирмы Paragon Software. Драйвер поддерживает чтение и запись с NTFS. Кроме драйвера проект поставляет ряд утилит для создания файловой системы NTFS и выполнения некоторых операций с разделами NTFS. Доступен бесплатно для домашних пользователей[10].
- Проект «NTFS File System Reader». Поддерживает чтение с NTFS.
- Проект «NTFS-3G». Необходимо установить дополнительные пакеты[11].
BeOS-совместимые операционные системы
[править | править код]Для операционных систем BeOS, Zeta и Haiku существуют следующие проекты.
- Системный драйвер. Поддерживает только чтение с NTFS.
- Экспериментальный драйвер Архивная копия от 1 декабря 2008 на Wayback Machine. Поддерживает чтение и запись с NTFS.
- Драйвер, поставляемый в составе ОС KolibriOS начиная с версии 0.6.5, написан на языке ассемблера, поддерживает чтение с разделов NTFS и запуска программ.
Реализована поддержка NTFS «на чтение» через свободный драйвер собственного производства. Также есть экспериментальная поддержка записи, включаемая через реестр.
- В операционной системе macOS встроенный драйвер NTFS по умолчанию работает в режиме чтения. После выпуска версии Mac OS X 10.6 Snow Leopard была найдена возможность включения поддержки записи на NTFS[12].
- Драйвер «NTFS for Mac® OS X Архивная копия от 9 мая 2009 на Wayback Machine» от фирмы Paragon Software.
- Драйвер «NTFS-3G»[13].
- Драйвер «MacFUSE» версии 2.0 Архивная копия от 11 декабря 2008 на Wayback Machine.
Сравнение файловых систем FAT и NTFS
[править | править код]Ограничения / возможности | NTFS | FAT16 и FAT32 |
---|---|---|
Размеры диска | в теории 264 байт (16 ЭиБ или 18 446 744 073 709 552 000 байт)
на практике 255 ТБ старые версии, 8 ПБ более новые[14] |
приблизительно 243 байт (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[15] практически — 255 тб: 232 (максимальное количество адресуемых кластеров) * 64кб (максимальный размер кластера). При попытке создать том большего размера, том создаётся, но при форматировании в NTFS с размером кластера 64 кб выдаётся ошибка: The number of clusters exceeds 32 bits (Количество кластеров превышает 32 бита). минимальный размер тома: 8 МиБ |
запись в таблице 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; размер тома совпадает с размером дискеты
|
За счёт отсутствия журналирования в FAT32 уменьшается износ блоков флеш-накопителя для модулей памяти, изготовленных по flash-технологиям, что позволяет продлить их срок службы. |
поддержка ссылок разных типов | NTFS поддерживает жёсткие (англ. hard links) и символьные ссылки, соединения для каталогов (англ. junctions), volume mount point[англ.] | FAT не поддерживает ссылки |
Максимальный размер файла | теоретически — 264 байт минус 1 килобайт практически — 244 байт минус 64 килобайта (~16 384 гигабайт или ~16 терабайт)[17] |
FAT16 поддерживает файлы размером не более 2 Гигабайт FAT32 поддерживает файлы размером не более 4 Гигабайт |
Средства безопасности | атрибуты файлов, авторизация с использованием DACL, шифрование с использованием EFS | атрибуты файлов |
Аудит | с использованием SACL | не поддерживается |
Поддержка сжатия | на уровне файловой системы для файлов, каталогов и дисков; не комбинируется с шифрованием, то есть каждый файл может быть либо сжат, либо зашифрован (сжатие возможно только для разделов диска до 16 ТБ) | на уровне диска (в FAT16); в FAT32 не поддерживается |
Максимальное количество файлов | 4 294 967 295 (232−1) | в FAT32 не более 268 435 444 (228−12) |
См. также
[править | править код]Примечания
[править | править код]- ↑ Windows XP: Format backup drives using NTFS . Microsoft (7 сентября 2006). Архивировано из оригинала 24 августа 2011 года.
- ↑ Mark Russinovich. Inside Win2K NTFS, Part 1 . Microsoft Developer Network. Дата обращения: 18 апреля 2008. Архивировано из оригинала 24 августа 2011 года.
- ↑ 1 2 3 Microsoft Corporation. How NTFS works . Дата обращения: 27 января 2008. Архивировано из оригинала 24 августа 2011 года.
- ↑ 1 2 3 Richard Russon and Yuval Fledel. NTFS Documentation . Дата обращения: 1 июля 2007. Архивировано 13 февраля 2006 года.
- ↑ 1 2 3 то есть в кодировке UTF-16 для Юникода версии 1, а для последующих — только в порядке совместимости
- ↑ Размер кластера по умолчанию для FAT, NTFS и exFAT Архивная копия от 14 июля 2015 на Wayback Machine.
- ↑ Overview and History of NTFS . www.pcguide.com. Дата обращения: 15 октября 2016. Архивировано 1 ноября 2016 года.
- ↑ VFAT-OS2 . www.dsteiner.com. Дата обращения: 31 мая 2017. Архивировано 20 июня 2017 года.
- ↑ 1 2 Microsoft TechNet: Windows Sysinternals (англ.). Дата обращения: 18 сентября 2007. Архивировано из оригинала 24 августа 2011 года.
- ↑ NTFS for Linux Express (англ.). Дата обращения: 28 августа 2008. Архивировано из оригинала 24 августа 2011 года.
- ↑ How to mount NTFS and FAT32 partitions in OpenSolaris 2008.11 Архивировано 12 марта 2009 года.
- ↑ Включение поддержки чтения и записи NTFS стандартными средствами:
- в ОС «Mac OS X 10.6 Snow Leopard» Архивная копия от 8 сентября 2011 на Wayback Machine;
- в ОС «Mac OS X 10.7 Lion» Архивная копия от 12 октября 2011 на Wayback Machine.
- ↑ NTFS-3G stable read and write driver . Дата обращения: 24 мая 2009. Архивировано 7 июля 2009 года.
- ↑ Обзор файловой системы NTFS . Архивировано 19 апреля 2021 года.
- ↑ Windows and GPT FAQ . Дата обращения: 6 апреля 2013. Архивировано 3 апреля 2013 года.
- ↑ Choosing between NTFS, FAT, and FAT32 . Microsoft. Дата обращения: 13 сентября 2015. Архивировано 8 сентября 2015 года.
- ↑ Microsoft Corporation. How NTFS Works . Дата обращения: 1 июля 2009. Архивировано из оригинала 24 августа 2011 года.
Ссылки
[править | править код]- Tulloch, Mitch NTFS Performance Hacks (англ.). Windows DevCenter (2 августа 2005). Архивировано из оригинала 24 августа 2011 года.
- Щетько Ускоряем NTFS . Компьютерная газета. Архивировано из оригинала 1 ноября 2011 года.
- Секреты NTFS. Символьные ссылки (19 апреля 2005). — статья Computerra. Дата обращения: 2008. Архивировано из оригинала 30 ноября 2012 года.
- Как включить поддержку чтения и записи NTFS в Mac OS X 10.6 Snow Leopard стандартными средствами. Casing (31 мая 2011). — Статья MacDaily.me по материалам MacRumors.com. Архивировано из оригинала 24 августа 2011 года.
- Как включить поддержку чтения и записи NTFS в Mac OS X 10.7 Lion стандартными средствами. © Casing (4 июля 2011). — Статья MacDaily.me. Архивировано из оригинала 24 августа 2011 года.
- NTFS-3G Архивная копия от 17 сентября 2009 на Wayback Machine
- Расширенные возможности NTFS Архивная копия от 22 июня 2013 на Wayback Machine: статьи, примеры кода, утилиты.
- Hermann, Schinagl Link Shell Extension (англ.). — Утилита для работы с ссылками NTFS для Windows. Дата обращения: 20 сентября 2008. Архивировано из оригинала 24 августа 2011 года.
- Как конвертировать флешку в NTFS . — Используются стандартные средства Windows. Архивировано из оригинала 29 августа 2011 года.
- Файловая система NTFS (24 апреля 2000). — Статья iXBT.com. Архивировано из оригинала 8 августа 2011 года.
- Сравнение NTFS и FAT . — (С) Александр Фролов, 2002. Архивировано из оригинала 14 октября 2011 года.
- Сравнение файловых систем exFAT, NTFS, FAT32 применительно к внешним носителям данных . — Статья pc-hard.ru, 2011. Архивировано из оригинала 24 августа 2011 года.
- В чём разница между exFAT, FAT32 и NTFS файловыми системами Архивная копия от 10 февраля 2022 на Wayback Machine