stringtranslate.com

NTFS

Файловая система NT ( NTFS ) (обычно называемая файловой системой новой технологии ) — это фирменная журналируемая файловая система, разработанная корпорацией Microsoft в 1990-х годах. [11] [12] [2]

Она была разработана для преодоления масштабируемости, безопасности и других ограничений FAT . [13] NTFS добавляет несколько функций, которых нет в FAT и HPFS , в том числе: списки управления доступом (ACL); шифрование файловой системы; прозрачное сжатие; разреженные файлы ; журналирование файловой системы и теневое копирование томов — функция, которая позволяет создавать резервные копии системы во время ее использования.

Начиная с Windows NT 3.1 , это файловая система по умолчанию семейства Windows NT, заменяющая файловую систему File Allocation Table (FAT). [14] Поддержка чтения/записи NTFS доступна в Linux и BSD с использованием NTFS3 в Linux и NTFS-3G в BSD . [15] [16]

NTFS использует несколько скрытых от пользователя файлов для хранения метаданных о других файлах, хранящихся на диске, что может помочь повысить скорость и производительность при чтении данных. [1]

История

В середине 1980-х годов Microsoft и IBM сформировали совместный проект по созданию следующего поколения графической операционной системы ; результатом стали OS/2 и HPFS . Поскольку Microsoft не соглашалась с IBM по многим важным вопросам, они в конечном итоге разделились; OS/2 осталась проектом IBM, а Microsoft работала над разработкой Windows NT и NTFS.

Файловая система HPFS для OS/2 содержала несколько важных новых функций. Когда Microsoft создавала свою новую операционную систему, они позаимствовали многие из этих концепций для NTFS. [17] Первоначальными разработчиками NTFS были Том Миллер , Гэри Кимура, Брайан Эндрю и Дэвид Гебель. [18]

Вероятно, в результате этого общего происхождения HPFS и NTFS используют один и тот же код типа идентификации раздела диска (07). Использование одного и того же номера записи идентификатора раздела крайне необычно, поскольку были доступны десятки неиспользуемых кодовых номеров, а другие основные файловые системы имеют свои собственные коды. Например, у FAT их больше девяти (по одному для FAT12 , FAT16 , FAT32 и т. д.). Алгоритмы, идентифицирующие файловую систему в разделе типа 07, должны выполнять дополнительные проверки, чтобы различать HPFS и NTFS.

Версии

Microsoft выпустила пять версий NTFS:

Номер NTFS.sysверсии (например, v5.0 в Windows 2000) основан на версии операционной системы; его не следует путать с номером версии NTFS (v3.1 начиная с Windows XP). [22] [23]

Хотя последующие версии Windows добавили новые функции, связанные с файловой системой, они не изменили саму NTFS. Например, Windows Vista реализовала символические ссылки NTFS , транзакционную NTFS , сжатие разделов и самовосстановление. [24] Символические ссылки NTFS — это новая функция в файловой системе; все остальные — это новые функции операционной системы, которые используют уже имеющиеся функции NTFS.

Масштабируемость

NTFS оптимизирована для  кластеров размером 4 КБ [a] , но поддерживает максимальный размер кластера 2 МБ [a] . (Более ранние реализации поддерживают до 64 КБ) [6] Максимальный размер тома NTFS, который может поддерживать спецификация, составляет 2 64 − 1 кластеров, но не все реализации достигают этого теоретического максимума, как обсуждается ниже.  

Максимальный размер тома NTFS, реализованный в Windows XP Professional, составляет 2 32 − 1 кластеров, отчасти из-за ограничений таблицы разделов. Например, при использовании  кластеров по 64 КБ максимальный размер тома NTFS Windows XP составляет 256 ТБ минус 64 КБ . При использовании размера кластера по умолчанию 4 КБ максимальный размер тома NTFS составляет 16 ТБ минус 4 КБ. Оба эти значения значительно превышают ограничение в 128 ГБ [a] в Windows XP SP1 . Размер раздела в основной загрузочной записи (MBR) ограничен 2 ТиБ с жестким диском с 512-байтовыми физическими секторами, [25] [26] хотя для физического сектора 4 КБ ограничение размера раздела MBR составляет 16 ТиБ. Альтернативой является использование нескольких томов таблицы разделов GUID (GPT или «динамических») для объединения с целью создания одного тома NTFS размером более 2 ТиБ. Для загрузки с тома GPT в среду Windows поддерживаемым Microsoft способом требуется система с интерфейсом Unified Extensible Firmware Interface (UEFI) и поддержкой 64-разрядных [b] ОС. [27] Диски данных GPT поддерживаются в системах с BIOS.      

Максимальный теоретический предел NTFS для размера отдельных файлов составляет 16 ЭБ [a] [28] ( 16 × 1024 6 или 2 64 байта ) минус 1 КБ, что в сумме составляет 18 446 744 073 709 550 592 байта. В Windows 10 версии 1709 и Windows Server 2019 максимальный реализованный размер файла составляет 8 ПБ [a] минус 2 МБ или 9 007 199 252 643 840 байт. [6]    

Взаимодействие

Окна

Хотя различные версии NTFS по большей части полностью совместимы вперед и назад , существуют технические соображения по монтированию новых томов NTFS в старых версиях Microsoft Windows. Это влияет на двойную загрузку и внешние переносные жесткие диски. Например, попытка использовать раздел NTFS с «Предыдущими версиями» ( Теневое копирование тома ) в операционной системе, которая его не поддерживает, приведет к потере содержимого этих предыдущих версий. [29] Утилита командной строки Windows под названием convert.exe может преобразовывать поддерживаемые файловые системы в NTFS, включая HPFS (только в Windows NT 3.1, 3.5 и 3.51), FAT16 и FAT32 (в Windows 2000 и более поздних версиях). [30] [31]

FreeBSD

FreeBSD 3.2, выпущенная в мае 1999 года, включала поддержку NTFS только для чтения, написанную Семёном Устименко. [32] [33] Эта реализация была перенесена в NetBSD Христосом Зуласом и Яромиром Долечеком и выпущена с NetBSD 1.5 в декабре 2000 года. [34] Реализация NTFS из FreeBSD также была перенесена в OpenBSD Жюльеном Борде и предлагает встроенную поддержку NTFS только для чтения по умолчанию на платформах i386 и amd64, начиная с версии 4.9, выпущенной 1 мая 2011 года. [35] [33]

Линукс

Версии ядра Linux 2.1.74 и более поздние включают драйвер, написанный Мартином фон Лёвисом, который имеет возможность читать разделы NTFS; [36] версии ядра 2.5.11 и более поздние содержат новый драйвер, написанный Антоном Альтапармаковым ( Кембриджский университет ) и Ричардом Рассоном, который поддерживает чтение файлов. [37] [38] [36] Возможность записи в файлы была представлена ​​в версии ядра 2.6.15 в 2006 году, что позволяет пользователям писать в существующие файлы, но не позволяет создавать новые. [39] Драйвер NTFS от Paragon (см. ниже) был объединен с версией ядра 5.15 и поддерживает чтение/запись обычных, сжатых и разреженных файлов, а также воспроизведение журнала. [40]

NTFS-3G — это бесплатная реализация NTFS FUSE с лицензией GPL , которая изначально была разработана как драйвер ядра Linux Сабольчем Сакачитсом. Она была переписана как программа FUSE для работы на других системах, которые поддерживает FUSE, таких как macOS , FreeBSD, NetBSD, OpenBSD , [41] Solaris, QNX и Haiku [42], и позволяет читать и записывать в разделы NTFS. Коммерческая версия NTFS-3G с улучшенной производительностью, называемая « Tuxera NTFS for Mac», также доступна разработчиками NTFS-3G. [43]

Captive NTFS , драйвер-«обертка», использующий собственный драйвер Windows ntfs.sys , существует для Linux. Он был создан как программа Filesystem in Userspace (FUSE) и выпущен под лицензией GPL, но работа над Captive NTFS была прекращена в 2006 году. [44]

Версии ядра Linux 5.15 и более поздние содержат NTFS3 — полнофункциональный драйвер чтения-записи NTFS, который работает с версиями NTFS до 3.1 и поддерживается в основном Paragon Software Group .

macOS

Mac OS X 10.3 включала реализацию NTFS только для чтения Устименко из FreeBSD. Затем в 2006 году Apple наняла Антона Альтапармакова для написания новой реализации NTFS для Mac OS X 10.6 . [45] Собственная поддержка записи NTFS включена в 10.6 и более поздние версии, но не активирована по умолчанию, хотя существуют обходные пути для включения этой функциональности. Однако, по сообщениям пользователей, эта функциональность нестабильна и имеет тенденцию вызывать панику ядра . [46]

Paragon Software Group продает драйвер чтения-записи под названием NTFS для Mac , [47] который также включен в некоторые модели жестких дисков Seagate . [48]

ОС/2

Пакет NetDrive для OS/2 (и производных, таких как eComStation и ArcaOS ) поддерживает плагин, который обеспечивает доступ для чтения и записи к томам NTFS. [49] [50]

ДОС

Существует бесплатный для личного использования драйвер чтения/записи для MS-DOS от Avira под названием «NTFS4DOS». [51] [52]

Компания Ahead Software разработала драйвер «NTFSREAD» (версия 1.200) для DR-DOS 7.0x в период с 2002 по 2004 год. Он был частью их программного обеспечения Nero Burning ROM .

Безопасность

NTFS использует списки контроля доступа и шифрование на уровне пользователя для защиты пользовательских данных.

Списки контроля доступа (ACL)

Разрешения файловой системы NTFS в современной системе Windows

В NTFS каждому файлу или папке назначается дескриптор безопасности , который определяет его владельца и содержит два списка управления доступом (ACL). Первый ACL, называемый списком управления доступом на основе дискреционных прав (DACL), точно определяет, какие типы взаимодействий (например, чтение, запись, выполнение или удаление) разрешены или запрещены каким пользователем или группами пользователей. Например, файлы в C:\Program Filesпапке могут быть прочитаны и выполнены всеми пользователями, но изменены только пользователем с правами администратора. [53] Windows Vista добавляет обязательную информацию об управлении доступом в DACL. DACL являются основным фокусом контроля учетных записей пользователей в Windows Vista и более поздних версиях.

Второй ACL, называемый системным списком контроля доступа (SACL), определяет, какие взаимодействия с файлом или папкой должны быть проверены и должны ли они быть зарегистрированы, когда активность успешна, неуспешна или и то, и другое. Например, аудит может быть включен для конфиденциальных файлов компании, чтобы ее менеджеры знали, когда кто-то пытается удалить их или сделать их копию, и удаётся ли им это. [53]

Шифрование

Шифрованная файловая система (EFS) обеспечивает прозрачное для пользователя шифрование любого файла или папки на томе NTFS. [54] EFS работает совместно со службой EFS, CryptoAPI от Microsoft и библиотекой времени выполнения файловой системы EFS (FSRTL). EFS работает, шифруя файл с помощью объемного симметричного ключа (также известного как ключ шифрования файлов или FEK), который используется, поскольку для шифрования и дешифрования больших объемов данных требуется относительно небольшое количество времени, чем при использовании асимметричного ключа шифрования. Симметричный ключ, который используется для шифрования файла, затем шифруется с помощью открытого ключа , который связан с пользователем, который зашифровал файл, и эти зашифрованные данные сохраняются в альтернативном потоке данных зашифрованного файла. Чтобы расшифровать файл, файловая система использует закрытый ключ пользователя для расшифровки симметричного ключа, который хранится в потоке данных. Затем она использует симметричный ключ для расшифровки файла. Поскольку это делается на уровне файловой системы, это прозрачно для пользователя. [55] Кроме того, в случае потери пользователем доступа к своему ключу, в систему EFS встроена поддержка дополнительных ключей дешифрования, так что агент восстановления все равно может получить доступ к файлам, если это необходимо. Шифрование, предоставляемое NTFS, и сжатие, предоставляемое NTFS, являются взаимоисключающими; однако NTFS может использоваться для одного, а сторонний инструмент — для другого.

Поддержка EFS недоступна в версиях Windows Basic, Home и MediaCenter и должна быть активирована после установки версий Windows Professional, Ultimate и Server или с помощью корпоративных средств развертывания в доменах Windows.

Функции

Ведение журнала

NTFS — это журналируемая файловая система , которая использует журнал NTFS ( $LogFile ) для записи изменений метаданных в томе. Это функция, которую FAT не предоставляет и которая имеет решающее значение для NTFS, чтобы гарантировать, что ее сложные внутренние структуры данных останутся согласованными в случае сбоев системы или перемещения данных, выполняемых API дефрагментации , и позволять легко откатывать незафиксированные изменения этих критических структур данных при повторном монтировании тома. В частности, затронутыми структурами являются битовая карта распределения тома, изменения в записях MFT, такие как перемещения некоторых атрибутов переменной длины, хранящихся в записях MFT и списках атрибутов, а также индексы для каталогов и дескрипторов безопасности .

Формат ( $LogFile ) развивался в нескольких версиях:

Несовместимость версий $LogFile, реализованных в Windows 8 , Windows 10 , Windows 11, не позволяет Windows 7 (и более ранним версиям Windows) распознавать версию 2.0 $ LogFile . Обратная совместимость обеспечивается понижением $LogFile до версии 1.1 при чистом размонтировании тома NTFS. Он снова обновляется до версии 2.0 при монтировании в совместимой версии Windows. Однако при переходе в спящий режим на диск в состоянии выхода из системы (также известном как гибридная загрузка или быстрая загрузка, которая включена по умолчанию) смонтированные файловые системы не размонтируются, и, таким образом, $LogFile любых активных файловых систем не понижаются до версии 1.1. Неспособность обработать версию 2.0 $LogFile версиями Windows старше 8.0 приводит к ненужному вызову утилиты восстановления диска CHKDSK . Это особенно важно в сценарии с несколькими загрузками , включающем версии Windows до и после 8.0, или при частом перемещении устройства хранения между старыми и новыми версиями. Существует параметр реестра Windows , предотвращающий автоматическое обновление $LogFile до новой версии. Эту проблему также можно решить, отключив гибридную загрузку. [56]

Журнал USN (журнал порядковых номеров обновлений) — это функция управления системой, которая записывает (в $Extend\$UsnJrnl ) изменения файлов, потоков и каталогов на томе, а также их различные атрибуты и настройки безопасности. Журнал доступен приложениям для отслеживания изменений в томе. [57] Этот журнал можно включить или отключить на несистемных томах. [58]

Жесткие ссылки

Функция жесткой ссылки позволяет различным именам файлов напрямую ссылаться на одно и то же содержимое файла. Жесткие ссылки могут ссылаться только на файлы в одном томе, поскольку каждый том имеет свою собственную MFT. Жесткие ссылки изначально были включены для поддержки подсистемы POSIX в Windows NT. [59]

Хотя жесткие ссылки используют ту же запись MFT ( inode ), которая записывает метаданные файла, такие как размер файла, дата изменения и атрибуты, NTFS также кэширует эти данные в записи каталога в качестве повышения производительности. Это означает, что при выводе списка содержимого каталога с использованием семейства API FindFirstFile/FindNextFile (эквивалентных API POSIX opendir/readdir) вы также получите эту кэшированную информацию в дополнение к имени и inode. Однако вы можете не увидеть актуальную информацию, поскольку эта информация гарантированно обновляется только при закрытии файла, и то только для каталога, из которого файл был открыт. [60] Это означает, что если файл имеет несколько имен через жесткие ссылки, обновление файла через одно имя не обновляет кэшированные данные, связанные с другим именем. Вы всегда можете получить актуальные данные с помощью GetFileInformationByHandle (что является истинным эквивалентом функции POSIX stat). Это можно сделать с помощью дескриптора, который не имеет доступа к самому файлу (передача нуля в CreateFile для dwDesiredAccess), а закрытие этого дескриптора имеет побочный эффект обновления кэшированной информации.

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

Файловая система NTFS имеет ограничение в 1024 жестких ссылок на файл. [61]

Альтернативный поток данных (ADS)

Альтернативные потоки данных позволяют связать более одного потока данных с именем файла ( ответвление ), используя формат "имя_файла:имя_потока" (например, "text.txt:extrastream"). Эти потоки не отображаются и не редактируются пользователями через какое-либо типичное приложение GUI, встроенное в Windows по умолчанию, что скрывает их существование от большинства пользователей. Хотя они предназначены для полезных метаданных , их таинственная природа делает их потенциальным местом укрытия для вредоносных программ, шпионских программ, невидимой истории браузера и другой потенциально нежелательной информации.

Альтернативные потоки не перечислены в проводнике Windows, и их размер не включен в размер файла. Когда файл копируется или перемещается в другую файловую систему без поддержки ADS, пользователь предупреждается, что альтернативные потоки данных не могут быть сохранены. Такое предупреждение обычно не предоставляется, если файл прикреплен к электронному письму или загружен на веб-сайт. Таким образом, использование альтернативных потоков для критически важных данных может вызвать проблемы. Microsoft предоставляет загружаемый инструмент под названием Streams [62] для просмотра потоков на выбранном томе. Начиная с Windows PowerShell 3.0, можно управлять ADS изначально с помощью шести командлетов: Add-Content, Clear-Content, Get-Content, Get-Item, Remove-Item, Set-Content. [63]

Небольшой ADS с именем Zone.Identifierдобавляется Internet Explorer и большинством браузеров, чтобы пометить файлы, загруженные с внешних сайтов, как потенциально небезопасные для запуска; затем локальная оболочка потребует подтверждения пользователя перед их открытием. [64] Когда пользователь указывает, что он больше не хочет этого диалогового окна подтверждения, этот ADS удаляется. Эта функция также известна как « Mark of the Web ». [65] [66] Без глубоких изменений исходного кода все веб-браузеры на базе Chromium (например, Google Chrome ) и FirefoxZone.Identifier также записывают поток в загруженные файлы. Начиная с Windows 10, содержимое потока Zone.Identiferструктурировано как INI-файл (т. е. хранилище ключей и значений ), который включает ключи HostIpAddress, HostUrlи ReferrerUrl. В некоторой степени это поля, определяемые реализацией, но они обычно содержат доменное имя и точный URL-адрес исходного местоположения онлайн-загрузки, потенциально предлагая глубоко эзотерический метод отслеживания истории просмотров с сопутствующими рисками для конфиденциальности. [67] Если загруженный файл является исполняемым (например, установщиком), ZoneADS может использоваться для отражения , позволяя программе определить, откуда он был загружен, что иногда может использоваться для телеметрии и/или в целях безопасности, посредством чего программа может попытаться проверить, что он был загружен из официального источника (при условии, что поток не был удален или подделан ), и может передать информацию обратно через Интернет (примером этого в действии является установщик BiglyBT ).

Вредоносное ПО использовало альтернативные потоки данных для сокрытия кода. [68] С конца 2000-х годов некоторые сканеры вредоносных программ и другие специальные инструменты проверяют альтернативные потоки данных. Из-за рисков, связанных с ADS, особенно связанных с конфиденциальностью и Zone.Identifierпотоком, существует программное обеспечение, специально разработанное для извлечения потоков из файлов (определенных потоков с предполагаемым риском или всех потоков) удобным для пользователя способом. [69]

Потоки NTFS были введены в Windows NT 3.1 , чтобы позволить службам для Macintosh (SFM) хранить вилки ресурсов . Хотя текущие версии Windows Server больше не включают SFM, сторонние продукты Apple Filing Protocol (AFP) (например, ExtremeZ-IP от GroupLogic ) по-прежнему используют эту функцию файловой системы.

Сжатие файлов

Сжатие включается для каждой папки или каждого файла путем установки атрибута «сжатый». Когда сжатие включено для папки, любые файлы, перемещенные или сохраненные в этой папке, будут автоматически сжаты с использованием алгоритма LZNT1 (вариант LZ77 ). [70] Алгоритм сжатия разработан для поддержки размеров кластеров до 4 КБ; когда размер кластера больше 4 КБ на томе NTFS, сжатие NTFS недоступно. [71] Данные сжимаются в 16-кластерные фрагменты (размером до 64 КБ); если сжатие уменьшает 64  КБ данных до 60  КБ или меньше, NTFS обрабатывает ненужные  страницы размером 4 КБ как пустые разреженные файловые кластеры — они не записываются. Это обеспечивает разумное время произвольного доступа, поскольку ОС просто должна следовать цепочке фрагментов.

Сжатие лучше всего работает с файлами, которые имеют повторяющееся содержимое, редко записываются, обычно доступны последовательно и сами по себе не сжимаются. Однопользовательские системы с ограниченным пространством на жестком диске могут извлечь выгоду из сжатия NTFS для небольших файлов, от 4  КБ до 64  КБ или более, в зависимости от сжимаемости. Файлы размером менее 900 байт хранятся в записи каталога MFT. [72]

Преимущества

Пользователи быстрых многоядерных процессоров обнаружат улучшения в скорости работы приложений за счет сжатия своих приложений и данных, а также сокращение используемого пространства. Даже когда контроллеры SSD уже сжимают данные, все равно происходит сокращение ввода-вывода, поскольку передается меньше данных. [73]

Согласно исследованию группы разработчиков NTFS от Microsoft, 50–60 ГБ — это разумный максимальный размер для сжатого файла на томе NTFS с размером кластера (блока) 4 КБ (по умолчанию). Этот разумный максимальный размер резко уменьшается для томов с меньшими размерами кластера. [74]  

Недостатки

Большие сжимаемые файлы становятся сильно фрагментированными, поскольку каждый фрагмент размером менее 64  КБ становится фрагментом. [74] [75] Флэш-память, такая как SSD -накопители, не имеет задержек движения головки и большого времени доступа , как механические жесткие диски , поэтому фрагментация имеет лишь меньшие потери.

Если системные файлы, необходимые во время загрузки (например, драйверы, NTLDR, winload.exe или BOOTMGR), сжаты, система может не загрузиться правильно, поскольку фильтры распаковки еще не загружены. [76] [ проверка не удалась ] Более поздние выпуски Windows [ какие? ] не позволяют сжимать важные системные файлы.

Сжатие системы

Начиная с Windows 10 , Microsoft представила новую схему сжатия файлов, основанную на алгоритме XPRESS с размером блока 4K/8K/16K [77] и алгоритме LZX ; [78] оба являются вариантами LZ77 , обновленными с помощью энтропийного кодирования Хаффмана и кодирования диапазона , которых не хватало LZNT1. Эти алгоритмы сжатия были взяты из формата Windows Imaging Format (файл WIM).

Новая схема сжатия используется функцией CompactOS, которая уменьшает использование диска за счет сжатия системных файлов Windows. [79] CompactOS не является расширением сжатия файлов NTFS и не использует атрибут «сжатый»; вместо этого она устанавливает точку повторной обработки для каждого сжатого файла с тегом WOF (Windows Overlay Filter), [80] но фактические данные хранятся в альтернативном потоке данных с именем «WofCompressedData», который распаковывается на лету драйвером фильтра файловой системы WOF , а основной файл представляет собой пустой разреженный файл . [80] Эта конструкция предназначена исключительно для доступа только для чтения, поэтому любые записи в сжатые файлы приводят к автоматической распаковке. [80] [81] [82]

Сжатие CompactOS предназначено для OEM-производителей , которые готовят образы ОС с /compactфлагом инструмента DISMв Windows ADK , [83] но его также можно вручную включить для каждого файла с помощью /exeфлага команды compact. [84] Алгоритм CompactOS избегает фрагментации файлов , записывая сжатые данные в непрерывно выделенные фрагменты, в отличие от основного сжатия NTFS. [ необходима цитата ]

Сжатие файлов CompactOS — это улучшенная версия функции WIMBoot, представленной в Windows 8.1 . WIMBoot сокращает использование диска Windows, сохраняя системные файлы в сжатом образе WIM на отдельном скрытом разделе диска . [85] Подобно CompactOS, системные каталоги Windows содержат только разреженные файлы, отмеченные точкой повторной обработки с тегом WOF, а драйвер Windows Overlay Filter распаковывает содержимое файлов «на лету» из образа WIM. Однако WIMBoot менее эффективен, чем CompactOS, поскольку новые обновленные версии системных файлов необходимо записывать в системный раздел, что потребляет дисковое пространство. [80]

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

Разреженный файл: пустые байты не нужно сохранять, поэтому их можно представить метаданными .
Один петабайт (1 125 899 906 842 624 байт) разреженных файлов, 0 байт на диске.

Разреженные файлы — это файлы, перемежающиеся пустыми сегментами, для которых не используется фактическое дисковое пространство. Для приложений файл выглядит как обычный файл с пустыми областями, которые рассматриваются как области, заполненные нулями; файловая система поддерживает внутренний список таких областей для каждого разреженного файла. [86] Разреженный файл не обязательно включает области разреженных нулей; атрибут «разреженный файл» просто означает, что файлу разрешено их иметь.

Например, приложения баз данных могут использовать разреженные файлы. [87] Как и в случае с сжатыми файлами, фактические размеры разреженных файлов не учитываются при определении пределов квот. [88]

Теневое копирование тома

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

Windows Vista также представила постоянные теневые копии для использования с функциями восстановления системы и предыдущих версий . Однако постоянные теневые копии удаляются, когда старая операционная система монтирует этот том NTFS. Это происходит потому, что старая операционная система не понимает новый формат постоянных теневых копий. [29]

Транзакции

Начиная с Windows Vista, приложения могут использовать транзакционную NTFS (TxF) для группировки нескольких изменений в файлах в одну транзакцию. Транзакция гарантирует, что либо все изменения произойдут, либо ни одно из них не произойдет, и что ни одно приложение вне транзакции не увидит изменения, пока они не будут зафиксированы. [89]

Он использует те же методы, что и для теневых копий томов (т. е. копирование при записи), чтобы гарантировать возможность безопасного отката перезаписанных данных, а также журнал CLFS для маркировки транзакций, которые еще не были зафиксированы или были зафиксированы, но еще не полностью применены (в случае сбоя системы во время фиксации одним из участников).

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

Microsoft теперь не рекомендует использовать TxF: «Microsoft настоятельно рекомендует разработчикам использовать альтернативные средства», поскольку «TxF может быть недоступен в будущих версиях Microsoft Windows». [90]

Квоты

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

Повторная обработка точек

Представленные в NTFS v3, точки повторной обработки NTFS используются путем связывания тега повторной обработки в атрибуте пользовательского пространства файла или каталога. Microsoft включает несколько тегов по умолчанию, включая символические ссылки , точки соединения каталогов и точки монтирования томов . Когда диспетчер объектов анализирует поиск имени файловой системы и обнаруживает атрибут повторной обработки, он повторно анализирует поиск имени, передавая контролируемые пользователем данные повторной обработки каждому драйверу фильтра файловой системы, загруженному в Windows. Каждый драйвер фильтра проверяет данные повторной обработки, чтобы увидеть, связаны ли они с этой точкой повторной обработки, и если этот драйвер фильтра определяет совпадение, то он перехватывает запрос файловой системы и выполняет свою специальную функциональность.

Ограничения

Изменение размера

Начиная с Windows Vista, Microsoft добавила встроенную возможность сжимать или расширять раздел. Однако эта возможность не перемещает фрагменты файла подкачки или файлы, помеченные как неперемещаемые, поэтому сжатие тома часто требует перемещения или отключения любого файла подкачки , индекса поиска Windows и любого теневого копирования, используемого восстановлением системы . Различные сторонние инструменты способны изменять размер разделов NTFS.

OneDrive

С 2017 года Microsoft требует, чтобы файловая структура OneDrive находилась на диске NTFS. [91] Это связано с тем, что функция OneDrive Files On-Demand использует точки повторной обработки NTFS для связывания файлов и папок, хранящихся в OneDrive, с локальной файловой системой, что делает файл или папку непригодными для использования с любой предыдущей версией Windows, с любым другим драйвером файловой системы NTFS или любой файловой системой и утилитами резервного копирования, не обновленными для ее поддержки. [92]

Структура

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

Внутри себя NTFS использует B-деревья для индексации данных файловой системы. Журнал файловой системы используется для гарантии целостности метаданных файловой системы, но не содержимого отдельных файлов. Известно, что системы, использующие NTFS, имеют повышенную надежность по сравнению с файловыми системами FAT. [93]

NTFS допускает любую последовательность 16-битных значений для кодировки имен (например, имена файлов, имена потоков или имена индексов), за исключением 0x0000. Это означает, что поддерживаются кодовые единицы UTF-16 , но файловая система не проверяет, является ли последовательность допустимой UTF-16 (она допускает любую последовательность коротких значений, не ограничиваясь теми, что указаны в стандарте Unicode). В пространстве имен Win32 любые кодовые единицы UTF-16 нечувствительны к регистру, тогда как в пространстве имен POSIX они чувствительны к регистру. Имена файлов ограничены 255 кодовыми единицами UTF-16. Некоторые имена зарезервированы в корневом каталоге тома и не могут использоваться для файлов. Это $MFT, $MFTMirr, $LogFile, $Volume, $AttrDef, .(точка), $Bitmap, $Boot, $BadClus, $Secure, $UpCase, и $Extend. [5] . (точка) и $Extendоба являются каталогами; остальные являются файлами. Ядро NT ограничивает полные пути 32 767 кодовыми единицами UTF-16. Существуют некоторые дополнительные ограничения на кодовые точки и имена файлов. [94]

Загрузочный сектор раздела (PBS)

Этот формат загрузочного раздела примерно основан на более ранней файловой системе FAT , но поля находятся в разных местах. Некоторые из этих полей, особенно поля "sectors per track", "number of heads" и "hidden sectors", могут содержать фиктивные значения на дисках, где они либо не имеют смысла, либо не поддаются определению.

Сначала ОС просматривает 8 байтов по адресу 0x30, чтобы найти номер кластера $MFT, затем умножает это число на количество секторов в кластере (1 байт находится по адресу 0x0D). Это значение является смещением сектора ( LBA ) к $MFT, которое описано ниже.

Основная таблица файлов

В NTFS все данные файлов, каталогов и метафайлов — имя файла, дата создания, разрешения на доступ (с помощью списков управления доступом ) и размер — хранятся в виде метаданных в главной таблице файлов ( MFT ). Этот абстрактный подход позволил легко добавлять функции файловой системы во время разработки Windows NT — примером является добавление полей для индексации, используемых Active Directory и Windows Search . Это также позволяет программному обеспечению быстрого поиска файлов очень быстро находить именованные локальные файлы и папки, включенные в MFT, без необходимости в каком-либо другом индексе.

Структура MFT поддерживает алгоритмы, которые минимизируют фрагментацию диска . [97] Запись каталога состоит из имени файла и «идентификатора файла» (аналога номера инода ), который является номером записи, представляющим файл в главной таблице файлов. Идентификатор файла также содержит счетчик повторного использования для обнаружения устаревших ссылок. Хотя это сильно напоминает W_FID из Files-11 , другие структуры NTFS радикально отличаются.

Частичная копия MFT, называемая зеркалом MFT, хранится для использования в случае повреждения. [98] Если первая запись MFT повреждена, NTFS считывает вторую запись, чтобы найти файл зеркала MFT. Местоположение обоих файлов хранится в загрузочном секторе. [99]

Метафайлы

NTFS содержит несколько файлов, которые определяют и организуют файловую систему. Во всех отношениях большинство этих файлов структурированы как любой другой пользовательский файл ($Volume является наиболее своеобразным), но не представляют прямого интереса для клиентов файловой системы. [100] Эти метафайлы определяют файлы, создают резервные копии критических данных файловой системы, буферизуют изменения файловой системы, управляют распределением свободного пространства, удовлетворяют ожиданиям BIOS , отслеживают плохие блоки распределения и хранят информацию о безопасности и использовании дискового пространства. Все содержимое находится в безымянном потоке данных, если не указано иное.

Эти метафайлы обрабатываются Windows особым образом, обрабатываются непосредственно драйвером NTFS.SYSи их трудно просматривать напрямую: необходимы специальные специализированные инструменты. [c] Начиная с Windows 7, драйвер NTFS полностью запрещает доступ пользователя, что приводит к BSoD при каждой попытке выполнить файл метаданных. Одним из таких инструментов является nfi.exe («NTFS File Sector Information Utility»), который свободно распространяется как часть Microsoft «OEM Support Tools». Например, чтобы получить информацию о сегменте главной файловой таблицы «$MFT», используется следующая команда: nfi.exe c:\$MFT[101] Другой способ обойти ограничение — использовать файловый менеджер 7-Zip и перейти к низкоуровневому пути NTFS \\.\X:\(где X:\напоминает любой диск/раздел). Здесь появятся 3 новые папки: $EXTEND, [DELETED](псевдопапка, которую 7-Zip использует для присоединения файлов, удаленных из файловой системы, для просмотра) и [SYSTEM](еще одна псевдопапка, которая содержит все файлы метаданных NTFS). Этот трюк можно использовать со съемными устройствами ( USB- флеш-накопителями, внешними жесткими дисками , SD-картами и т. д.) внутри Windows, но для выполнения этого на активном разделе требуется автономный доступ (а именно WinRE ).

Списки атрибутов, атрибуты и потоки

Для каждого файла (или каталога), описанного в записи MFT, существует линейный репозиторий дескрипторов потоков (также называемых атрибутами ), упакованных вместе в одну или несколько записей MFT (содержащих так называемый список атрибутов ), с дополнительным заполнением для заполнения фиксированного размера 1 КБ каждой записи MFT, и который полностью описывает эффективные потоки, связанные с этим файлом.

Каждый атрибут имеет тип атрибута (целое число фиксированного размера, отображающее определение атрибута в файле $AttrDef ), необязательное имя атрибута (например, используемое в качестве имени для альтернативного потока данных) и значение, представленное в последовательности байтов. Для NTFS стандартные данные файлов, альтернативные потоки данных или индексные данные для каталогов хранятся как атрибуты.

Согласно $AttrDef , некоторые атрибуты могут быть как резидентными, так и нерезидентными. Атрибут $DATA , содержащий данные файла, является таким примером. Когда атрибут является резидентным (что представлено флагом), его значение хранится непосредственно в записи MFT. В противном случае для данных выделяются кластеры, а информация о местоположении кластера сохраняется по мере запуска данных в атрибуте.

Все атрибуты заданного файла могут быть отображены с помощью nfi.exe («NTFS File Sector Information Utility»), которая свободно распространяется как часть «OEM Support Tools» Microsoft. [101]

Системные вызовы Windows могут обрабатывать альтернативные потоки данных. [5] В зависимости от операционной системы, утилиты и удаленной файловой системы передача файлов может молча удалять потоки данных. [5] Безопасный способ копирования или перемещения файлов — использовать системные вызовы BackupRead и BackupWrite, которые позволяют программам перечислять потоки, проверять, следует ли записывать каждый поток на целевой том, и заведомо пропускать нежелательные потоки. [5]

Атрибуты резидента и нерезидента

Чтобы оптимизировать хранилище и сократить накладные расходы ввода-вывода для очень распространенного случая атрибутов с очень малым связанным значением, NTFS предпочитает размещать значение внутри самого атрибута (если размер атрибута не превышает максимальный размер записи MFT), вместо того, чтобы использовать пространство записи MFT для перечисления кластеров, содержащих данные; в этом случае атрибут не будет хранить данные напрямую, а будет просто хранить карту распределения (в форме запусков данных ), указывающую на фактические данные, хранящиеся в другом месте тома. [102] Когда к значению можно получить доступ напрямую из атрибута, оно называется «резидентными данными» (специалистами по компьютерной криминалистике ). Объем данных, которые помещаются, сильно зависит от характеристик файла, но 700–800 байт являются обычным явлением в однопотоковых файлах с недлинными именами файлов и без ACL.

Карта распределения хранится в виде прогонов данных со сжатым кодированием. Каждый прогон данных представляет собой непрерывную группу кластеров, которые хранят значение атрибута. Для файлов на многогигабайтном томе каждая запись может быть закодирована как 5-7 байтов, что означаетЗапись MFT размером КБ может хранить около 100 таких прогонов данных. Однако, поскольку $ATTRIBUTE_LIST также имеет ограничение по размеру, опасно иметь более 1 миллиона фрагментов одного файла на томе NTFS, что также подразумевает, что в целом не рекомендуется использовать сжатие NTFS для файла размером более10  ГБ . [103]

Драйвер файловой системы NTFS иногда пытается переместить данные некоторых атрибутов, которые можно сделать нерезидентными, в кластеры, а также пытается переместить данные, хранящиеся в кластерах, обратно в атрибут внутри записи MFT, основываясь на приоритете и предпочтительных правилах упорядочивания, а также ограничениях по размеру.

Поскольку резидентные файлы не занимают кластеры («единицы распределения») напрямую, возможно, что том NTFS будет содержать больше файлов на томе, чем кластеров. Например,Раздел NTFS форматов 74,5 ГБ с 19 543 064 кластерами4 КБ . Вычитание системных файлов (a64  МБ лог-файла, 2 442 888-байтовый файл Bitmap и около 25 кластеров фиксированных накладных расходов) оставляет 19 526 158 кластеров свободными для файлов и индексов. Поскольку на кластер приходится четыре записи MFT, этот том теоретически может содержать почти 4 × 19 526 158 = 78 104 632 резидентных файлов.

Оппортунистические блокировки

Оппортунистические блокировки файлов (oplocks) позволяют клиентам изменять стратегию буферизации для заданного файла или потока с целью повышения производительности и снижения использования сети. [104] Oplocks применяются к заданному открытому потоку файла и не влияют на oplocks в другом потоке.

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

Windows поддерживает четыре различных типа оппортунистических блокировок:

Оппортунистические блокировки были улучшены в Windows 7 и Windows Server 2008 R2 с помощью ключей oplock для каждого клиента. [105]

Время

Windows NT и ее потомки сохраняют внутренние временные метки в формате UTC и выполняют соответствующие преобразования для отображения; все временные метки NTFS указаны в формате UTC. [ необходима ссылка ]

По историческим причинам версии Windows, не поддерживающие NTFS, все сохраняют время внутри себя как локальное поясное время, и, следовательно, так делают все файловые системы, кроме NTFS, которые поддерживаются текущими версиями Windows. Это означает, что когда файлы копируются или перемещаются между разделами NTFS и не-NTFS, ОС должна преобразовывать временные метки на лету. Но если некоторые файлы перемещаются, когда действует летнее время (DST), а другие файлы перемещаются, когда действует стандартное время , могут возникнуть некоторые неоднозначности в преобразованиях. В результате, особенно вскоре после одного из дней, когда меняется локальное поясное время, пользователи могут заметить, что некоторые файлы имеют временные метки, которые неверны на один час. Из-за различий в реализации DST в разных юрисдикциях это может привести к потенциальной ошибке временной метки до 4 часов в любые заданные 12 месяцев. [106]

Смотрите также

Примечания

  1. ^ abcdefghij 1 байт = 8 бит
    1 КБ = 1024 байта
    1 МБ = 1048576 байт
    1 ГБ = 1073741824 байта 1 ТБ = 1099511627776 байт 1 ПБ = 1125899906842624
    байта 1 ЭБ = 1152921504606846976 байт

  2. ^ Может быть и 32-битным, при условии, что размер прошивки и загрузчика операционной системы совпадает.
  3. ^ Начиная с Windows XP, очень сложно просмотреть список этих файлов: они существуют в индексе корневого каталога, но интерфейс Win32 отфильтровывает их. В NT 4.0 dirкоманда командной строки вывела бы список метафайлов в корневом каталоге, если бы /aони были указаны. В Windows 2000 dir /aперестал работать, но dir /a \$MFTработал.

Ссылки

  1. ^ ab Karresand, Martin; Axelsson, Stefan; Dyrkolbotn, Geir Olav (2019-07-01). «Использование поведения распределения кластера NTFS для поиска местоположения пользовательских данных». Digital Investigation . 29 : –51–S60. doi : 10.1016/j.diin.2019.04.018 . hdl : 11250/2631756 . ISSN  1742-2876. S2CID  199004263.
  2. ^ ab "Глоссарий". [MS-EFSR]: Протокол шифрованной удаленной файловой системы (EFSRPC) . Microsoft. 14 ноября 2013 г.
  3. ^ "Как работает NTFS". TechNet . Microsoft. 8 октября 2009 г. Получено 2 декабря 2017 г.
  4. ^ "B*Trees - NTFS Directory Trees - Concept - NTFS Documentation". flatcap.org . Архивировано из оригинала 2019-05-13 . Получено 2019-05-13 .
  5. ^ abcdefg "Как работает NTFS". Технический справочник Windows Server 2003. 2003-03-28 . Получено 2011-09-12 .
  6. ^ abcd "Приложение A: Поведение продукта". [MS-FSA]: Алгоритмы файловой системы . Microsoft. 2018-09-12 . Получено 2018-10-01 . NTFS использует размер кластера по умолчанию 4 КБ, максимальный размер кластера 64 КБ в операционной системе Windows 10 v1703 и Windows Server 2016 и более ранних версиях, и 2 МБ в операционной системе Windows 10 v1709 и Windows Server 2019 и более поздних версиях, а минимальный размер кластера 512 байт.
  7. ^ "Приложение A: Поведение продукта". [MS-FSA]: Алгоритмы файловой системы . Microsoft. 14 ноября 2013 г. Получено 21 сентября 2012 г.
  8. ^ ab Russon, Richard; Fledel, Yuval. "NTFS Documentation" (PDF) . Архивировано (PDF) из оригинала 2022-10-09 . Получено 2011-06-26 .
  9. ^ "Структура SYSTEMTIME (minwinbase.h)". Microsoft. 5 октября 2021 г. Получено 7 января 2024 г.
  10. ^ Рик Вэновер (14 сентября 2011 г.). "Дедупликация данных Windows Server 8". Архивировано из оригинала 2016-07-18 . Получено 2011-12-02 .
  11. ^ Сэммс, Тони; Дженкинсон, Брайан, ред. (2007), «Файловая система новой технологии», Forensic Computing , Лондон: Springer, стр. 215–275, doi :10.1007/978-1-84628-732-9_6, ISBN 978-1-84628-732-9, получено 2024-08-14
  12. ^ Вайс, Дэвид (01.08.2022). «Что такое NTFS и как она работает?». Datto . Получено 14.08.2024 .
  13. ^ "Новая технологическая файловая система - обзор | Темы ScienceDirect". www.sciencedirect.com . Получено 2024-08-14 .
  14. ^ ab Кастер, Хелен (1994). Внутри файловой системы Windows NT. Microsoft Press . ISBN 978-1-55615-660-1.
  15. ^ "NTFS3 — Документация ядра Linux". www.kernel.org . Получено 2021-12-02 .
  16. ^ "ntfs-3g". www.freebsd.org . Получено 2021-12-02 .
  17. ^ Kozierok, Charles (14 февраля 2018 г.). «Обзор и история NTFS». The PC Guide . Получено 30 мая 2019 г. .
  18. ^ Кастер, Хелен (1994). Внутри файловой системы Windows NT. Microsoft Press . стр. vii. ISBN 978-1-55615-660-1.
  19. ^ «Восстановление Windows NT после сбоя загрузки на диске NTFS». Microsoft. 1 ноября 2006 г.
  20. ^ ab Руссинович, Марк (30 июня 2006 г.). "Внутри Win2K NTFS, часть 1". MSDN . Microsoft . Получено 18.04.2008 .
  21. ^ «Что нового в Windows NT 4.0 Service Pack 4?». Microsoft.com . 12 января 1999 г. Архивировано из оригинала 17 января 1999 г. Получено 17 августа 2018 г.
  22. ^ «Новые возможности и особенности файловой системы NTFS 3.1». Microsoft. 1 декабря 2007 г. Архивировано из оригинала 16 ноября 2006 г.
  23. ^ "Обзор NTFS". LSoft Technologies Inc.
  24. ^ Loveall, John (2006). «Улучшения хранения в Windows Vista и Windows Server 2008» (PowerPoint) . Microsoft. стр. 14–20 . Получено 2007-09-04 .
  25. ^ "Поддержка Windows для жестких дисков объемом более 2 ТБ". Microsoft Learn . 2013-06-26 . Получено 2024-08-08 .
  26. ^ "Размер кластера по умолчанию для NTFS, FAT и exFAT". Поддержка Microsoft . Архивировано из оригинала 2024-03-09.
  27. ^ "Загрузка из GPT". Rodsbooks.com . Получено 22 сентября 2018 г. .
  28. ^ "NTFS против FAT против exFAT - NTFS.com". www.ntfs.com . Получено 2021-01-19 .
  29. ^ ab cfsbloggers (14 июля 2006 г.). "Как точки восстановления и другие функции восстановления в Windows Vista влияют на двойную загрузку с Windows XP". The Filing Cabinet . Архивировано из оригинала 2006-07-18 . Получено 2007-03-21 .
  30. ^ «Как преобразовать FAT-диски в NTFS». Microsoft. 18 декабря 2017 г. Получено 30 мая 2019 г.
  31. ^ "FAQ: Как использовать Convert.exe для преобразования раздела в файловую систему NTFS". The Educationsl University of Hong Kong . 2007-02-12. Архивировано из оригинала 2023-12-06 . Получено 2010-12-26 .
  32. ^ "FreeBSD 3.2 Release Notes". 17 мая 1999 г. Получено 15 июня 2020 г.
  33. ^ ab "mount_ntfs - страницы руководства OpenBSD" . Получено 2020-06-15 .
  34. ^ "Анонс NetBSD 1.5". 6 декабря 2000 г. Получено 15 июня 2020 г.
  35. ^ "OpenBSD 4.9". Openbsd.com . Получено 22 сентября 2018 г. .
  36. ^ ab "NTFS Credits and History". Linux-NTFS Project . Архивировано из оригинала 2021-09-24 . Получено 2021-09-24 .
  37. ^ "Разработка ядра". lwn.net . 2 мая 2002 г. Получено 05.09.2021 г.
  38. ^ "Заметки о выпуске v2.5.11". 29 апреля 2002 г. Получено 05.09.2021 г.
  39. ^ "2.6.15 changelog". Linux project . 3 января 2006 г. Получено 2021-09-05 .
  40. ^ Андерсон, Тим (06.09.2021). «GitHub объединяет «бесполезный мусор», говорит Линус Торвальдс, поскольку в ядро ​​Linux 5.15 добавлена ​​новая поддержка NTFS». The Register . Получено 07.09.2021 .
  41. ^ "OpenBSD добавляет поддержку fuse(4) для добавления файловых систем в пользовательское пространство". OpenBSD Journal . 2013-11-08 . Получено 2013-11-08 .
  42. ^ "NTFS-3G Stable Read/Write Driver". 2009-07-25.
  43. ^ "Tuxera NTFS for Mac". Tuxera. 30 августа 2011 г. Получено 20 сентября 2011 г.
  44. ^ "Ян Кратохвил: Captive: Первая свободная файловая система NTFS для чтения/записи для GNU/Linux" . Получено 15.06.2020 .
  45. ^ "О Tuxera" . Получено 2020-06-15 .
  46. ^ "10.6: Включить собственную поддержку чтения/записи NTFS". 1 октября 2009 г. Архивировано из оригинала 5 сентября 2021 г. Получено 5 сентября 2021 г.
  47. ^ "Microsoft NTFS для Mac". Paragon Software Group . Получено 8 августа 2024 г.
  48. ^ "Лидер в области решений для хранения больших объемов данных | Seagate US". Seagate.com . Архивировано из оригинала 10 февраля 2011 г.
  49. ^ "Плагин NTFS для NetDrive". ecsoft2.org . Получено 2020-09-09 .
  50. ^ "NetDrive для OS/2". arcanoae.com . Получено 2020-09-09 .
  51. ^ "Avira NTFS4DOS Personal". Архивировано из оригинала 19 июня 2010 г. Получено 25 июля 2009 г.
  52. ^ "Загрузить Avira NTFS4DOS Personal 1.9". Архивировано из оригинала 10 ноября 2013 г. Получено 22 сентября 2018 г.
  53. ^ ab "Как работают дескрипторы безопасности и списки контроля доступа". TechNet . Microsoft . Получено 4 сентября 2015 г. .
  54. ^ Морелло, Джон (февраль 2007 г.). «Security Watch Deploying EFS: Часть 1». Technet Magazine . Microsoft . Получено 25.01.2009 .
  55. ^ "Как работает EFS". Windows 2000 Resource Kit . Microsoft . 18 июля 2012 г. Получено 25 февраля 2014 г.
  56. ^ "Соображения о совместимости томов Windows 8 с предыдущими версиями Windows". 17 января 2024 г. Получено 2024-08-08 .
  57. ^ "Журналы изменений". Microsoft Docs . 7 января 2021 г. Получено 12 августа 2023 г.
  58. ^ "Создание, изменение и удаление журнала изменений (Windows)". Microsoft Docs . 7 января 2021 г. Получено 2023-08-12 .
  59. ^ "Глава 29 – Совместимость с POSIX". MS Windows NT Workstation 4.0 Resource Guide . Microsoft . 1995 . Получено 21 октября 2013 .
  60. ^ «Жесткие ссылки и соединения». MSDN . Microsoft . 12 октября 2013 г. . Получено 21 октября 2013 г. .
  61. ^ "MSDN – CreateHardLink function" . Получено 14 января 2016 г. .
  62. ^ "Streams - Sysinternals". Microsoft Docs . 23 марта 2021 г. Получено 12 августа 2023 г.
  63. ^ "FileSystem Provider". Microsoft. 9 августа 2012 г. Архивировано из оригинала 23 января 2015 г. Получено 23 января 2015 г.
  64. ^ Руссинович, Марк Э .; Соломон, Дэвид А.; Ионеску, Алекс (2009). «Файловые системы». Внутреннее устройство Windows (5-е изд.). Microsoft Press. стр. 921. ISBN 978-0-7356-2530-3. Одним из компонентов Windows, использующим несколько потоков данных, является служба выполнения вложений[...] в зависимости от того, из какой зоны был загружен файл [...] Проводник Windows может предупредить пользователя
  65. ^ Бойд, Кристофер (26 октября 2022 г.). «Неправильно сформированный трюк с подписью может обойти Mark of the Web». Malwarebytes . Получено 15.05.2023 .
  66. ^ DHB-MSFT (28 февраля 2023 г.). «Макросы из Интернета по умолчанию блокируются в Office — разверните Office». learn.microsoft.com . Получено 15.05.2023 .
  67. ^ https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/ms537183(v=vs.85)?redirectedfrom=MSDN
  68. ^ "Вредоносное ПО, использующее альтернативные потоки данных?". Веб-журнал AusCERT . 21 августа 2007 г. Архивировано из оригинала 23.02.2011.
  69. ^ https://github.com/fafalone/ZoneStripper
  70. ^ "Сжатие и распаковка файлов". MSDN Platform SDK: Файловые системы . Получено 2005-08-18 .
  71. ^ "Размер кластера по умолчанию для файловых систем NTFS и FAT". Microsoft. 31 января 2002 г. Получено 10 января 2012 г.
  72. ^ "Как работает NTFS". 2003-03-28 . Получено 2011-10-24 .
  73. ^ Масьеро, Мануэль (2011-12-01). "Стоит ли сжимать данные на SSD?". Tom's Hardware . Bestofmedia Group . Получено 2013-04-05 .
  74. ^ ab Middleton, Dennis. "Understanding NTFS Compression". Ntdebugging Blog . Microsoft . Архивировано из оригинала 29 июня 2011 г. Получено 2011-03-16 .
  75. ^ "Уменьшение разрыва: вырезание файлов, сжатых NTFS" . Получено 29.05.2011 .
  76. ^ "Концепции дисков и устранение неполадок". Microsoft. 11 сентября 2008 г. Получено 26.03.2012 .
  77. ^ "[MS-XCA]: Алгоритм сжатия Xpress". 31 января 2023 г.
  78. ^ "wimlib: библиотека Windows Imaging (WIM) с открытым исходным кодом - Алгоритм сжатия".
  79. ^ "Compact OS, single-instancing, and image optimization". Microsoft . Получено 1 октября 2019 .
  80. ^ abcd Рэймонд Чен (18 июня 2019 г.). «Что такое WofCompressedData? Означает ли WOF, что Windows — собака?». Microsoft DevBlogs .
  81. ^ Биггерс, Эрик (29 апреля 2019 г.). «Плагин NTFS-3G для чтения файлов, «сжатых системой». GitHub . Получено 1 октября 2019 г. .
  82. ^ "Re: [ntfs-3g-devel] Экспериментальная поддержка файлов Windows 10 "System Compressed"". SourceForge.net . Получено 1 октября 2019 г. .
  83. ^ "Обзор DISM". 15 декабря 2021 г.
  84. ^ "Компакт". 3 февраля 2023 г.
  85. ^ «Обзор загрузки файла образа Windows (WIMBoot)». 10 марта 2015 г.
  86. ^ "Sparse Files". MSDN . Microsoft . 12 октября 2013 г. . Получено 21 октября 2013 г. .
  87. ^ Kandoth, Suresh B. (4 марта 2009 г.). «Ошибки разреженных файлов: 1450 или 665 из-за фрагментации файлов: исправления и обходные пути». CSS SQL Server Engineers . Microsoft . Архивировано из оригинала 21 октября 2013 г. . Получено 21 октября 2013 г. .
  88. ^ "Разреженные файлы и дисковые квоты". Библиотека MSDN . Microsoft . 12 октября 2013 г. . Получено 21 октября 2013 г. .
  89. ^ "Транзакционная NTFS". MSDN . Microsoft . Архивировано из оригинала 2007-02-21 . Получено 2007-02-02 .
  90. ^ "Транзакционная NTFS (TxF)". Microsoft Docs . Microsoft. 20 июля 2022 г. . Получено 12 августа 2023 г. .
  91. ^ «Невозможно открыть содержимое, синхронизированное в папке OneDrive на внешнем диске». Поддержка Microsoft . Получено 2021-04-03 .
  92. ^ Андре, Жан-Пьер (1 марта 2019 г.). "NTFS-3G: точки соединения, символические ссылки и точки повторной обработки". jp-andre.pagesperso-orange.fr . Архивировано из оригинала 28 авг. 2022 г.
  93. ^ "Глава 18 – Выбор файловой системы". MS Windows NT Workstation 4.0 Resource Guide . Microsoft . 20 февраля 2014 г. . Получено 25 февраля 2014 г. .
  94. ^ "Именование файлов, путей и пространств имен". MSDN . Microsoft . Соглашения об именовании . Получено 25 февраля 2014 г. .
  95. ^ "NTFS. Загрузочный сектор раздела". Ntfs.com . Получено 22 сентября 2018 г. .
  96. ^ "Boot Sector". Technet.microsoft.com . 11 сентября 2008 г. Таблица 1.13 Поля BPB и Extended BPB на томах NTFS . Получено 22 сентября 2018 г.
  97. ^ "Master File Table". MSDN . 2 июля 2012 г.
  98. ^ "Forensics: Что такое MFT Mirror?". Где ваши данные? . 2009-06-05 . Получено 2021-07-30 .
  99. ^ "NTFS Master File Table (MFT)". Ntfs.com . Получено 22 сентября 2018 г. .
  100. ^ Шварц, Томас. "COEN 252 Computer Forensics NTFS". Факультет организации и информатики Университета Загреба. Архивировано из оригинала 2021-02-27 . Получено 30 мая 2019 .
  101. ^ ab "OEM Support Tools Phase 3 Service Release 2 Availability". Корпорация Microsoft. 2007-02-21. Архивировано из оригинала 2015-02-23 . Получено 2010-06-16 . Утилита информации о секторе файловой системы Windows NT (NTFS) ... Инструмент, используемый для дампа информации о томе NTFS
  102. ^ "Четыре стадии роста файла NTFS". Архивировано из оригинала 23 сентября 2018 г. Получено 22 сентября 2018 г.
  103. ^ "Сильно фрагментированный файл в томе NTFS не может превышать определенный размер". Архивировано из оригинала 2021-05-06 . Получено 2021-05-19 .
  104. ^ "Как работают Oplocks в среде Windows: обзор". Архивировано из оригинала 2010-08-23 . Получено 2018-12-19 .
  105. ^ "Что нового в NTFS". Technet.microsoft.com . 2 июля 2012 г. Получено 22 сентября 2018 г.
  106. ^ Гиллиган, Джонатан (28 мая 2001 г.). «Побеждая ошибку перехода на летнее время и получая правильное время модификации файлов». The Code Project .

Дальнейшее чтение

Внешние ссылки