Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Windows 8
  • Ntfs описание. Файловая система - что такое? Файловая система NTFS, FAT, RAW, UDF

Ntfs описание. Файловая система - что такое? Файловая система NTFS, FAT, RAW, UDF


При установке Windows XP вам будет предложено отформатировать существующий раздел, на который устанавливается ОС, в файловую систему NTFS. Так что же это такое?

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

Файловая система NTFS является "своей" файловой системой для Windows NT, а как известно WinXP, является своеобразным продолжением этой линейки ОС. Но если вы собираетесь использовать на одном компьютере несколько операционных систем таких, как Windows 9x и Windows XP, то загрузочный том нельзя форматировать в NTFS, так как линейки Windows 95(98) "понимают" только FAT, и дисков, отформатированных в NTFS для этих ОС просто не существует. Файлы находящиеся на дисках NTFS можно увидеть только используя программы сторонних производителей. Если же во время установки вы не отформатировали раздел в NTFS, то это можно сделать и после неё. В командной строке WindowsXP необходимо набрать "Convert (имя диска)/FS:NTFS" без кавычек.

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

Ограничения NTFS FAT и FAT 32
Размеры тома Минимальный размер тома составляет приблизительно 10 Мб. FAT поддерживает различные размеры томов - от объема дискет и до 4 Гб.
На практике рекомендуется создавать тома, размеры которых не превышают 2 Тб. FAT 32 поддерживает тома объемом от 2 гб. до 2 Тб. Работая под управлением Windows XP для Fat 32 можно отформатировать тома, размер которых не превышает 32 Гб.
С помощью NTFS нельзя форматировать дискеты. Не поддерживаются диски размеры которых меньше 512 Мб.
Размеры файлов Теоритически размер файла может составлять 16 экзабайт. FAT поддерживает файлы размером не более 2 Гб. FAT 32 подерживает файлы размером не более 4 Гб.

NTFS обладает характеристиками защищенности, поддерживая контроль доступа к данным и привилегии владельца, играющие исключительно важную роль в обеспечении целостности важных данных. Папки и файлы NTFS могут иметь назначенные им права доступа вне зависимости от того, являютя ли они разделяемыми или нет.
NTFS - единственная файловая система в Windows, которая позволяет назначать права доступа к различным файлам. Устанавливая пользователям определенные разрешения для файлов и каталогов, пользователь может защищать конфиденциальную информацию от несанкционированного доступа. Разрешения пользователя на доступ к объектам файловой системы работают по принципу дополнения. Это значит, что действующие разрешения, то есть те разрешения, которые пользователь реально имеет в отношении конкретного каталога или файла, образуются из всех прямых или косвенных разрешений, назначенных пользователю для данного объекта с помощью логической функции "Или". Например, если пользователь имеет право назначить разрешение для каталога на чтение, а косвенно через членство в группах ему дано право на запись, то в результате пользователь сможет читать информацию в файлах каталога и записывать в них данные.
Для назначения пользователю или группе разрешения на доступ к определенному файлу необходимо: 1. Указать файл мышью и нажать правую кнопку. Выбрать пункт Properties (Свойства) контекстного меню. В появившемся окне свойств файла перейти на вкладку Security (Безопасность). По умолчанию данной вкладки там нет, чтобы она появилась необходимо в свойствах папки убрать галочку Simple File Sharing (использовать простой общий доступ к файлам).
2. В группе Name (Имя) показан список пользователей и групп, которым уже предоставлены разрешения для этого файла. Для того, чтобы добавить или удалить пользователей или новые группы, нажать кнопку Add/Remove (Добавить/Удалить) Появится окно диалога Select Users, Groups (Выбрать пользователей, группы).В поле Enter the object names to select (Введите имена выбираемых объектов) написать имя пользователя, кнопка Check Names (Проверить имена) позволяет проверить правильность написания имени.
3. В группе Permissions (Разрешения) устанавливаются разрешения. Присутствуют указатели Deny (запретить) и Allow (Разрешить). Устанавливаются флажки для следующих параметров: Full Control (полный контроль) - пользователь получает неограниченный доступ к файлу, Modify (Изменение) - пользователь может изменять файл, Read & execute (Чтение и выполнение), Read (Чтение) - пользователь может только читать файл, Write (Запись) - пользователь может записывать в файл.

Для более тонкой настройки разрешений необходимо нажать кнопку Advanced. Появляется диалоговое окно Advanced Security Settings for (Дополнительные параметры безопасности). Здесь можно дополнительно указать дополнительные разрешения, настроить политику аудита, изменить (просмотреть) информацию о владельце файла и добавить / удалить пользователей, могущих получить доступ к файлу.
Следующее, очень полезное свойство файловой системы NTFS - это возможность введения квот. Это свойство, как правило необходимо системным администраторам, больших компаний, где работают большое количество пользователей, у которых нет привычки следить за актуальностью информации, и которые хранят ненужные файлы, тем самым занимая дисковое пространство. Так как администратор не может проследить за всем этим, он может ввести квоту на использование диска определенному пользователю. После установки квот пользователь может хранить на томе ограниченный объем данных, в то время как на этом диске может оставаться свободное пространство. Если пользователь превысит выданную ему квоту, в журнал событий будет внесена соответствующая запись. Чтобы включить квоты на диске нужно прежде всего, чтобы он был в формате NTFS, затем в свойствах папки Tools-Folder Options-View убрать флажок Simple File Sharing. Это нужно для того, чтобы в свойствах диска появилась вкладка Quota. В ней необходимо установить флажок на Enable quota managment (Активизировать управление квотами). Это будет установлена мягкое квотирование, которое выдаст предупреждение, что пользователь, если так случится, превысил квоту, но право на запись у него будет. Чтобы в случае превышения квоты пользователю было отказано в доступе к этому тому, необходимо установить флажок на Deny disk space to users exceeding quota limit (Запретить запись на диск пользователям, превысившим размер дискового пространства). На этой же вкладке можно установить размер выделяемой квоты (Limit disk space to) и порог, превышение которого вызывает запись предупреждения в журнале событий (Set Warning level to) - Установить порог выдачи сообщения. Эти параметры устанавливаются по умолчанию для всех пользователей. В окне же Quota Entries можно изменить параметры квоты, задаваемой для конкретного пользователя. Для этого следует выделить конфигурируемую учетную запись, с помощью контекстного меню выбрать свойства и сконфигурировать квоту.
И ещё одно нововведение NTFS 5 - точки монтирования. Пользователь может определить различные, не связанные с собой папки и даже диски в системе как один диск или папка. Это имеет большую важность для определения в одном месте разнородной информации, находящейся в системе. Файлы и папки таким образом созданные имеют уникальный идентификационный номер, что гарантирует их правильное нахождение в системе, даже если папка или файл был перенесен.

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

FAT32 является старейшей файловой системой, он был введен в Windows 95, чтобы заменить FAT16.

Возраст этой файловой системы имеет преимущества и недостатки. Почти все покупаемые флеш диски вы покупаете с файловой системой FAT32, для максимальной совместимости не только с компьютерами, но и с игровыми приставками, и другими устройствами, которые поддерживают флеш накопители.

Ограничения данного возраста: размер файла больше 4Гб FAT32 не поддерживается, по этому можно забрасывать на накопитель любое количество файлов, но чтобы каждый из них был не больше 4Гб. Максимальный размер раздела в FAT32 8ТБ, но в операционных системах Windows размер создаваемого раздела в данной файловой системе не превышает 32ГБ. Хотя если создать раздел больше 32ГБ в другой системе, то Windows будет работать с накопителем.Но опять таки, если создать раздел в FAT32 больше 32ГБ, то по утверждениям Майкрософт производительность данного диска значительно падает.

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

Совместимость: Поддерживается всеми версиями Windows, Mac, Linux, игровыми консолями и другими устройствами с USB.

Ограничения: Максимальный размер файла 4ГБ, 8ТБ максимальный размер раздела. В Windows раздел можно создать не больше 32ГБ.

Идеально подходит: на съемных накопителях, для совместимости с большинством устройств, если вы используете файлы до 4ГБ.

NTFS является современной файловой системой, с которой работает Windows. Все операционных системы Windows при установке форматируют раздел в NTFS. Впервые появился с Windows XP.

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

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

Но данная файловая система не совместима с другими операционными системами. Она будет работать со всеми версиями Windows, но Mac OS X может только читать диски в данной файловой системе, он не может писать на них. Также и Linux только читает разделы NTFS, хотя некоторые дистрибутивы включили поддержку записи. Большинство игровых консолей не поддерживают NTFS, к примеру Sony PlayStation не поддерживает данную файловую систему, да и Xbox 360 не поддерживает ее.

Совместимость: работает со всеми версиями Windows, только читается в Mac, также и Linux только читает, и не каждый дистрибутив пишет. Другие устройства - большинством не поддерживается.

Ограничения:

Идеально подходит: для системного диска, и других внутренних дисков, которые будут использоваться только в Windows.

ExFat была введена Майкрософт в 2006, и по другому данную файловую систему называет FAT64. Поддержку данной файловой системы с обновлениями добавили и в Windows XP.

Данная файловая система оптимизирована для флеш-накопителей. Одним из новшеств ExFat является уменьшение количества перезаписей одного и того же сектора, что уменьшает изнашивание накопителя.

Как и NTFS, ExFat не ограничен в размерах файла и раздела. Другими словами,если ваш накопитель отформатирован в ExFat, то можно записывать на него файлы размером больше 4ГБ. Данная файловая система лучший выбор для накопителей, где вы хотите легкую файловую систему без ограничений размера файла.

ExFat также более совместим чем NTFS, если Mac поддерживал только чтение NTFS, то ExFat он полностью поддерживает, как чтение так и запись. ExFat также могут быть доступны в Linux, если установить дополнительное программное обеспечение.

В то время как с операционными системами ExFat более дружен, он часто не совместим с цифровыми камерами, да и не во всех игровых консолях поддерживают данную файловую систему. Да и другие старые устройства, могут быть ограничены поддержкой только FAT32.

Совместимость: Работает во всех версиях Windows, и в современных версиях Mac OS X, но требует дополнительное программное обеспечение на Linux. Большинство старых устройств не поддерживают данную файловую систему.

Ограничения: нет ограничений в размерах файла, и в размерах раздела.

Идеально подходит: для флеш-накопителей USB, внешних накопителей, и т.д., если вы работаете с файлами объемом больше 4ГБ, и если вы хотите уменьшить износ накопителя.

NTFS идеально подходит для внутренних дисков, а ExFat больше подходит для флеш-накопителей. Fat32 в основном используется для стареньких устройств, которые не поддерживают другие файловые системы.

На сегодня всё, если есть дополнения - пишите комментарии! Удачи Вам 🙂

NTFS , собственная файловая система Windows 2000, непрерывно совершенствовалась со времени выпуска Windows NT 3.1. Она изначально обладала возможностями высокоуровневой файловой системы, но в Windows 2000 появились важные изменения, которые были сделаны в связи с необходимостью решать проблемы, возникающие на корпоративном уровне при переходе организаций на NT. Например, благодаря консолидации информации о безопасности повышается эффективность повседневной работы с NTFS; другие функции, такие, как управление квотами, должны использоваться в прикладных программах или активизироваться и применяться администратором.

На этот раз я расскажу о возможностях версии NTFS 5.0 (NTFS5), вошедшей в состав Windows 2000, и о влиянии новых функций на поведение и формат диска NTFS. Приступая к чтению статьи, важно четко понимать основные принципы построения дисковой структуры NTFS, а также иметь представление о главной таблице файлов (Master File Table, MFT), типах атрибутов и резидентных и нерезидентных атрибутах. Подробно основы NTFS описаны в статье Шона Дейли «NTFS5 против FAT32» (Windows 2000 Magazine/RE №4, 2000). Во врезке « » рассказано о некоторых инструментах просмотра и источниках информации об элементах внутренней структуры данных NTFS.

Универсальная индексация

Некоторые новые свойства NTFS5 основываются на фундаментальной особенности NTFS, именуемой индексацией атрибутов (attribute indexing). Индексация атрибутов заключается в сортировке элементов с атрибутом определенного типа при помощи эффективного механизма хранения, обеспечивающего быстрый просмотр. В версиях NTFS, предшествовавших Windows 2000, индексация допускалась только для индексного атрибута $I30, в котором хранятся элементы каталога. В процессе индексации атрибутов элементы каталога сортируются по имени и сохраняются в B+ дереве (форма двоичного дерева, в каждом узле которого хранится несколько элементов). На Рисунке 1 показана запись MFT каталога, в трех узлах которой содержится девять элементов, по три в каждом узле. Корень B+ дерева находится в атрибуте index root (корень индекса). В записи MFT каталога девять элементов не умещается, поэтому некоторые элементы приходится хранить в другом месте. Для этого NTFS выделяет два буфера размещения индексов (index allocation) для хранения двух записей (как правило, корень индекса и буферы размещения индексов мо-гут хранить элементы для более чем трех файлов, в зависимости от длины имен). Размер записи MFT — 1 Кбайт, а размер буферов размещения индексов — 4 Кбайт.

Красные стрелки указывают, что элементы NTFS хранятся в алфавитном порядке. Если запустить программу, которая открывает файл e.bak в показанном на рисунке каталоге, то NTFS читает атрибут индексного корня, содержащий элементы для d.new, h.txt и i.doc, и сравнивает строку e.bak с именем первого элемента, d.new. NTFS делает вывод, что алфавитный номер e.bak больше, чем d.new, и переходит к следующему элементу — h.txt. Повторив операцию сравнения, NTFS выясняет, что алфавитный номер e.bak меньше, чем h.txt. Затем NTFS отыскивает в записи каталога h.txt номер виртуального кластера (virtual cluster number, VCN) индексного буфера, содержащего элементы каталога, алфавитные номера которых меньше, чем h.txt, но больше, чем d.new. VCN представляет собой порядковый номер кластера в файле или каталоге. На основании информации о размещении кластеров NTFS преобразует VCN в логический номер кластера (Logical Cluster Number, LCN), т. е. номер кластера относительно начала тома. Если элемент каталога для h.txt не содержит VCN индексного буфера, NTFS делает вывод, что каталог h.txt не содержит файла e.bak и сообщает о неудачном завершении поиска.

Получив VCN начального кластера индексного буфера, NTFS читает буфер размещения индексов и просматривает его в поисках совпадений. На Рисунке 1 первый же элемент индексного буфера совпадает с критерием поиска, и NTFS читает номер записи MFT e.bak из элемента каталога e.bak. В элементах каталога хранится и другая информация: в частности, временные отметки (например, время создания и последнего изменения), размер и атрибуты. NTFS хранит эту информацию и в записи MFT файла, но, благодаря дублированию информации в элементе каталога, читать запись MFT файла при составлении списков каталогов и выполнении простых файловых запросов не требуется.

Элементы каталогов сортируются по алфавиту, и именно поэтому в списках каталогов NTFS файлы всегда располагаются в алфавитном порядке. В отличие от NTFS, FAT не сортирует каталог, поэтому списки FAT не сортированы. Кроме того, поскольку элементы NTFS хранятся в B+ дереве, механизм поиска конкретных файлов в больших каталогах очень эффективен; обычно достаточно просмотреть лишь часть каталога. Данный подход отличается от линейного метода FAT, при использовании которого для поиска одного имени иногда приходится просматривать весь каталог.

В версиях NTFS, предшествовавших Windows 2000, индексировались только имена файлов, но NTFS5 обеспечивает универсальную индексацию, сохраняя в индексах произвольные данные и сортируя элементы данных не по имени, а по другим параметрам. Универсальная индексация используется для управления дескрипторами безопасности, информацией о квотах, точках повторной обработки и идентификаторах файловых объектов, т. е. элементами NTFS5, о которых идет речь в данной статье.

Консолидированная безопасность

NTFS всегда располагала функциями безопасности, позволяющими администратору указать пользователей, которым разрешен или запрещен доступ к тем или иным файлам и каталогам. В версиях NTFS, предшествовавших Windows 2000, дескриптор безопасности каждого файла и каталога хранился в его собственном атрибуте безопасности. В большинстве случаев администраторы назначают единые параметры безопасности всему дереву каталогов, что приводит к дублированию дескрипторов безопасности для всех файлов и подкаталогов, к которым применяются параметры. Такое дублирование может привести к значительным потерям дискового пространства в многопользовательских средах, таких, как Windows 2000 Server Terminal Services и NT Server 4.0, Terminal Server Edition (WTS), где дескрипторы безопасности могут содержать элементы для многих учетных записей. NTFS5 оптимизирует выделение дискового пространства для хранения дескрипторов безопасности, сохраняя лишь один экземпляр каждого дескриптора безопасности на томе в центральном файле метаданных с именем $Secure.

Рисунок 2. Как работает файл метаданных $Secure.

В файле $Secure хранятся два индексных атрибута — $SDH и $SII — и атрибут потока данных, именуемый $SDS (см. Рисунок 2). NTFS5 назначает каждому уникальному дескриптору на томе внутренний идентификатор безопасности NTFS (не путать с SID, уникально идентифицирующим компьютеры и учетные записи пользователей) и хеширует дескриптор безопасности в соответствии с простым хеш-алгоритмом. Хеш-значение — потенциально неуникальное сокращенное представление дескриптора. Элементы в индексе $SDH отображают хеш-значения дескриптора безопасности на область хранения дескриптора безопасности в атрибуте данных $SDS, а индекс $SII отображает на область хранения дескриптора безопасности в атрибуте данных $SDS идентификаторы безопасности NTFS5.

Назначив дескриптор безопасности файлу или каталогу, NTFS получает хеш-значение дескриптора и просматривает индекс $SDH в поисках совпадений. NTFS сортирует элементы индекса $SDH согласно хеш-значению соответствующего дескриптора безопасности и сохраняет элементы в B+ дереве. Обнаружив для дескриптора совпадение в индексе $SDH, NTFS определяет смещение дескриптора безопасности элемента из записи $SDS Offset и считывает дескриптор безопасности из атрибута $SDS. Если совпадают хеш-значения, но не дескрипторы безопасности, то NTFS ищет еще один совпадающий элемент в индексе $SDH. Если NTFS обнаруживает полное совпадение, то файл или каталог, которому назначен дескриптор безопасности, может установить связь с дескриптором безопасности в атрибуте $SDS.

NTFS устанавливает связь, считывая идентификатор безопасности из элемента $SDH и сохраняя его в атрибуте $STANDARD_INFORMATION файла или каталога. В атрибуте $STANDARD_INFORMATION системы NTFS, который имеют все файлы и каталоги, хранится базовая информация о файле, в том числе атрибуты и временные метки. В Windows 2000 этот атрибут расширен, в нем появилась дополнительная информация, например идентификатор безопасности файла.

Если NTFS не обнаруживает в индексе $SDH элемента с дескриптором безопасности, совпадающим с назначаемым, значит, новый дескриптор уникален для тома, и NTFS назначает ему новый внутренний ID безопасности. Внутренние ID безопасности NTFS представляют собой 32-разрядные величины, а идентификаторы SID обычно в несколько раз длиннее, поэтому представление идентификаторов SID идентификаторами безопасности NTFS позволяет сэкономить место в атрибуте $STANDARD_INFORMATION. Затем NTFS добавляет дескриптор безопасности в атрибут $SDS, который сортируется в B+ дереве по ID безопасности NTFS, и дополняет индексы $SDH и $SII элементами, указывающими на смещение дескриптора в массиве данных $SDS.

Когда приложение пытается открыть файл или каталог, NTFS отыскивает дескриптор безопасности файла или каталога с помощью индекса $SII.

NTFS читает внутренний ID безопасности файла или каталога из атрибута $STANDARD_INFORMATION записи MFT, а затем использует индекс $SII файла $Secure для поиска элемента ID в атрибуте $SDS. По смещению в атрибуте $SDS система NTFS считывает дескриптор безопасности и завершает проверку безопасности. NTFS5 не удаляет элементы файла $Secure, даже если с ним не связано ни одного файла или каталога на томе. Наличие неудаленных элементов не приводит к значительной потере дискового пространства, так как число уникальных дескрипторов безопасности на большинстве томов, даже используемых в течение длительного времени, сравнительно невелико.

Благодаря универсальной индексации NTFS5 файлы и каталоги с одинаковыми параметрами безопасности эффективно используют общие дескрипторы. С помощью индекса $SII NTFS быстро отыскивает дескрипторы безопасности в файле $Secure в ходе проверок безопасности, а индекс $SDH позволяет быстро определить, имеется ли в файле $Secure ранее сохраненный дескриптор безопасности, пригодный для совместного использования с данным файлом или каталогом.

Точки повторной обработки

Точки повторной обработки позволяют приложению связать блок своих данных с файлом или каталогом, а диспетчеру объектов Object Manager — выполнить повторный поиск имени, когда прикладная программа обнаруживает точку повторной обработки. Помимо данных в точке повторной обработки хранится программный код, который идентифицирует принадлежность точки повторной обработки определенному приложению. Сами по себе точки повторной обработки бесполезны, но благодаря им программисты могут наращивать функциональность NTFS. В Windows 2000 предусмотрено несколько типов точек повторной обработки, в том числе точки монтирования томов, подсоединения каталогов NTFS и управления иерархическими хранилищами данных (Hierarchical Storage Management, HSM). Я объясню, как работают все эти функции, а затем подробно расскажу о реализации точек повторной обработки.

Любой том NTFS доступен лишь после того, как ему присвоено символьное обозначение. Точки монтирования NTFS5 позволяют привязать том к каталогу монтирования на родительском томе NTFS5, не присваивая символьного обозначения дочернему тому. В результате появляется возможность объединить несколько томов под одной буквой. Например, если смонтировать том, содержащий каталог \articles, к точке монтирования с именем C:\documents, то можно использовать путь C:\articles\documents для доступа к файлам каталога \documents. Точка монтирования представляет собой точку повторной обработки, данные которой состоят из внутреннего имени тома. Внутреннее имя имеет форму \??\Volume{XX-XX-XX-XX}, где X — числа, образующие глобальный уникальный ID (GUID), присвоенный тому операционной системой.

Если открыть файл C:\articles\documents\column.doc, то NTFS обнаруживает точку монтирования, связанную с каталогом \documents. NTFS читает хранящиеся в ней данные точки повторной обработки (имя тома) и передает в Object Manager статус точки повторной обработки. Диспетчер ввода/вывода перехватывает информацию о статусе, анализирует данные и определяет, что NTFS обнаружила точку монтирования. Диспетчер ввода/вывода изменяет искомое имя и заставляет Object Manager (компонент ядра, который отвечает поиску имен) провести повторный поиск с измененным путем \??\Volume{GUID}\documents\column.doc. В процессе повторного поиска анализ имени \documents\co-lumn.doc продолжится на смонтированном томе. Создать точки монтирования и составить их список можно с помощью оснастки Disk Management консоли управления Microsoft Management Console (MMC) или инструмента командной строки Mountvol, поставляемого вместе с Windows 2000.

Точки подсоединения каталогов NTFS похожи на точки монтирования, и диспетчер ввода/вывода и Object Manager выполняют подсоединение так же, как монтирование. Однако точки подсоединения устанавливают связь с каталогами, а не с томами. Точки подсоединения Windows 2000 эквивалентны символьным ссылкам UNIX (но в отличие от символьных ссылок UNIX, точки подсоединения нельзя применять к файлам). Если создать точку подсоединения C:\articles\documents, связанную с каталогом D:\documents, то можно обращаться к файлам в D:\documents, используя путь C:\articles\documents. В точке подсоединения хранится информация о перенаправленном пути, и если NTFS обнаруживает точку подсоединения, то, как и в случае с точкой монтирования, диспетчер ввода/вывода изменяет имя и инициирует повторный поиск имени. Принцип действия точки подсоединения показан на Рисунке 3. Когда приложение открывает C:\directory1\file, NTFS обнаруживает точку повторной обработки в каталоге C:\directory1, указывающую на каталог C:\directory2. Диспетчер ввода/вывода изменяет имя на C:\directory2\file, и приложение в итоге открывает файл C:\directory2\file.


Рисунок 3. Пример точки повторной обработки.

В Windows 2000 нет инструментов для создания точек подсоединения, и Microsoft официально не поддерживает такие инструменты, так как использование путей с подсоединением может нарушить работу некоторых прикладных программ. Однако создавать подсоединения и составлять их списки можно с помощью инструмента Linkd из набора ресурсов Microsoft Windows 2000 Resource Kit или бесплатной утилиты Junction.
Повторный анализ пути используется не во всех точках повторной обработки. В системе HSM точки повторной обработки HSM служат для прозрачной миграции редко используемых файлов в резервное хранилище данных. Когда HSM переносит файл в архив, содержимое файла удаляется, а на его месте создается точка повторной обработки. В данных точки повторной обработки содержится информация, используемая системой HSM для поиска файла на архивном носителе. Если впоследствии приложение обращается к хранящемуся в HSM файлу, то HSM-драйвер RsFilter.sys (Remote Storage Filter — фильтр удаленного хранения данных) перехватывает код повторной обработки, пересылаемый NTFS в Object Manager. Драйвер удаляет точку повторной обработки, извлекает файл с архивного носителя, а затем повторяет первоначальный запрос. На этот раз NTFS обращается к файлу, как к любому другому, и операции по перемещению данных не влияют на работу приложения.

Если точка повторной обработки связана с файлом или каталогом, то NTFS создает для нее атрибут с именем $Reparse. В этом атрибуте хранятся код и данные точки повторной обработки. Поэтому NTFS без труда обнаруживает все точки повторной обработки на томе, а в файле метаданных с именем \$Extend\$Reparse хранятся элементы, связывающие номера записи MTF файла и каталога точки повторной обработки с ассоцированными с ними кодами повторной обработки. NTFS сортирует элементы по номеру записи MTF в индексе $R.

Отслеживание квот


Экран 1. Активизация квотирования.

Рисунок 4. Как работает файл метаданных $Quota.

NTFS хранит информацию о квотировании в файле метаданных \$Extend\$Quota, состоящих из индексов $O и $Q. На Рисунке 4 показана структура этих индексов. Точно так же, как NTFS назначает каждому дескриптору безопасности уникальный внутренний ID безопасности, каждому пользователю назначается уникальный ID пользователя. Когда администратор определяет информацию о квоте для пользователя, NTFS назначает ID пользователя, соответствующий идентификатору SID пользователя. В индексе $O создается запись, которая отображает SID на ID пользователя, индекс сортируется по ID пользователя; в индексе $Q создается запись для управления квотой. Запись управления квотой содержит величину квоты, выделенной пользователю, а также размер занимаемого дискового пространства.

Когда приложение создает файл или каталог, NTFS получает SID пользователя программы и отыскивает соответствующий ID пользователя в индексе $O. NTFS записывает ID пользователя в атрибут $STANDARD_INFORMATION нового файла или каталога и засчитывает все дисковое пространство, выделенное файлу или каталогу, в счет квоты пользователя. Затем NTFS отыскивает элемент квоты в индексе $Q и определяет, не превысил ли пользователь своего порога предупреждения или дискового лимита. Если выделение нового пространства привело к превышению порога, то NTFS принимает соответствующие меры: например, заносит запись в журнал системных событий или запрещает пользователю создать файл или каталог. По мере изменения размера файла или каталога NTFS обновляет запись управления квотой, связанную с ID пользователя в атрибуте $STANDARD_INFORMATION. Система NTFS использует метод универсальной индексации для эффективной привязки ID пользователя к SID учетной записи и быстрого поиска информации о квоте пользователя по его идентификатору.

Продолжение следует...

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

Марк Русинович — доктор философии, редактор Windows 2000 Magazine. С ним можно связаться по адресу: [email protected] или http://www.sysinternals.com/.

Исследуем дисковые структуры NTFS

Для исследования внутренних дисковых структур NTFS существует несколько общедоступных инструментов. Среди них — DiskEdit, встроенный инструмент тестирования NTFS, по недосмотру Microsoft оказавшийся на компакт-диске Windows NT 4.0 Service Pack 4 (SP4), одна из самых мощных известных мне программ просмотра NTFS. DiskEdit, окно которого представлено на Экране A, позволяет ознакомиться со структурами, образующими файлы и каталоги, а также с данными атрибутов и преобразовать пути файлов и каталогов во входные коды таблицы MFT. Документация по DiskEdit отсутствует, но я опубликовал учебное пособие в сборнике бесплатных бюллетеней Sysinternals Newsletter (http://www.sysinternals.com/newsletter.htm). Чтобы использовать DiskEdit вместе с Windows 2000, необходимо скопировать файлы ifsutil.dll, ulib.dll, untfs.dll и ufat.dll из каталога \winnt\system32 системы Windows NT в каталог, в котором нужно разместить DiskEdit.


Экран A. Утилита DiskEdit.

Те, у кого нет компакт-диска с SP4, могут воспользоваться утилитой NTFS File Sector Information Utility (NFI), поставляемой Microsoft в составе пакета OEM Support Tools по адресу: http:\\support.microsoft.com/support/ kb/articles/q253/0/66.asp (помимо NFI в пакете OEM Support Tools имеются утилиты отладки и расширения отладчика ядра, с помощью которых администраторы и программисты могут анализировать аварийные дампы).

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

сообщает имя файла на томе C:, который содержится в 123 секторе тома. Чтобы исследовать структуры данных NTFS, можно воспользоваться этой же командой, не указывая номер сектора, и NFI выдаст подробную информацию об атрибутах всех файлов на диске. Можно ввести имя файла метаданных, описанных в статье, и просмотреть содержащиеся в них атрибуты. Например, если выполнить команду

nfi c:\$extend\$quota

на квотируемом томе, то будет видно, что файл $Quota содержит индексы с именами $O и $Q:

File 24
\$Extend\$Quota
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$INDEX_ROOT $O (resident)
$INDEX_ROOT $Q (resident)

Еще один источник информации о дисковой структуре NTFS — книга Гэри Неббета «Windows NT/2000 Native API reference» (издательство New Readers Publishing, 2000). В приложении приведены определения многих дисковых структур NTFS (в некоторых случаях отражены изменения, внесенные в Windows 2000) и содержится исходный текст Win32-программы, с помощью которой можно получить доступ к структурам данных в обход драйвера файловой системы NTFS и создать дамп содержимого тома.

NTFS выросла из файловой системы HPFS, разрабатываемой совместно IBM и Microsoft для проекта OS/2. Она начала использоваться вместе с Windows NT 3.1 в 1993 году. Windows NT 3.1 должна была составить конкуренцию серверам на базе NetWare и Unix, поэтому NTFS вобрала в себя все тогдашние технологические достижения. Вот основные из них:

1. Работа с большими дисками. NTFS имеет размер кластера 512 байт, что в принципе оптимально, но его можно менять до 64К. Более важно то, что NTFS способна теоретически работать с томами размером в 16,777,216 терабайт. Теоретически, потому что таких жестких дисков пока просто не существует, и появятся они весьма не скоро.

2. Устойчивость. NTFS содержит две копии аналога FAT, которые называются MFT (Master File Table). В отличие от FAT MSDOS, MFT больше напоминает таблицу базы данных. Если оригинал MFT повреждён в случае аппаратной ошибки (например, появления bad-сектора), то система при следующей загрузке использует копию MFT, и автоматически создаёт новый оригинал, уже с учётом повреждений. Но это не самое главное. Главное, что NTFS использует систему транзакций при записи файлов на диск. Эта система пришла из СУБД, где защита целостности данных - жизненно важное дело. Уже это говорит о её эффективности. В упрощённом виде она работает так:

  • Драйвер ввода/вывода NTFS инициирует процесс записи, одновременно сообщая сервису Log File Service вести лог всего происходящего.
  • Данные пишутся в кэш, под управлением сервиса Cache Manager.
  • Cache Manager посылает данные Virtual Memory Manager-у (менеджеру виртуальной памяти), для записи на диск в фоновом режиме.
  • Virtual Memory Manager посылает данные драйверу диска, пропустив их через Fault Tolerant Driver (если у вас массив дисков RAID).
  • Драйвер диска шлёт их контроллеру, который уже пишет их либо в кэш, либо прямо на диск.
  • Если эта операция проходит без ошибок, запись лога удаляется.
  • Если происходит сбой, запись лога остается в таблице транзакций, и при следующем доступе к диску Log File Service обнаруживает эту запись, и просто восстанавливает всё как было до этой операции.

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

3. Защищенность. NTFS рассматривает файлы, как объекты. Каждый файловый объект обладает свойствами, такими как его имя, дата создания, дата последнего обновления, архивный статус, и дескриптор безопасности. Файловый объект также содержит набор методов, которые позволяют с ним работать, такие как open, close, read и write. Пользователи, включая сетевых, для обращения к файлу вызывают эти методы, а Security Reference Monitor определяет, имеет ли пользователь необходимые права для вызова какого-либо из этих методов. Кроме этого, файлы можно шифровать. Правда, с шифрованием стоит быть осторожнее. Если у вас рухнет система, или вы её переустановите то вы не сможете прочитать зашифрованные файлы, если не имеете ERD.

4. Компрессия данных. NTFS позволяет компрессировать отдельные каталоги и файлы, в отличие от DriveSpace, который позволял сжимать только диски целиком. Это очень удобно, для экономии пространства на диске, например можно сжимать «на лету» большие графические файлы формата BMP, или текстовые файлы, причём для пользователя всё это будет прозрачно.

5. Поддержка формата ISO Unicode. Формат Unicode использует 16bit для кодировки каждого символа, в отличие от ASCII, который использовал 8bit, или ещё хуже - 7bit. Для простого пользователя это означает то, что теперь он может называть файлы на любом языке, хоть на китайском - система это будет поддерживать, не требуя изменить кодовую страницу, как это делал DOS и W9x.

Переход с FAT32 на NTFS
Всё зависит от того, с какой целью вы используете компьютер, и сколько у вас оперативной памяти. Следует учесть, что NTFS работает несколько медленнее чем FAT, из-за дополнительно загружаемых сервисов и её системы безопасности. Если у вас мало оперативной памяти, и вы решили поставить себе XP, то вам однозначно нельзя ставить себе NTFS. Если у вас 128MB или больше, то можно уже подумать об NTFS. Следует взвесить преимущества и недостатки NTFS для простого пользователя и решить, что вам нужно. К преимуществам FAT32 можно отнести то, что она быстрее и требует меньше памяти для работы. Если система работает только с FAT32, то в память не грузятся драйвера и сервисы, необходимые NTFS. Кроме этого, при использовании FAT32 имеется возможность доступа к диску при загрузке с загрузочного флоппи W9x. Преимущества NTFS для простого пользователя можно описать одним ёмким словом: indestructible. На полном серьёзе, вышибить NTFS чрезвычайно сложно, хоть и возможно. Для опыта запускалась куча различных приложений, оптимизаторы диска, и в самые неподходящие моменты жалась кнопка reset. Повторение этого садизма добрый десяток раз никакого впечатления на систему не произвело, она продолжала работать без ошибок. Кроме этого, NTFS обладает встроенными средствами шифрования файлов, что обеспечивает определённую уверенность в сохранности данных. Конечно, при условии что система не будет переустанавливаться.

Конвеpтируем диск FAT32 в NTFS без потеpи данных.
1. Можно воспользоваться командой CONVERT том: /FS:NTFS Преобразование произойдет при следующей перезагрузке. Потери информации не при этом не будет, но нужно иметь в виду, что размер кластера после конвертации составит 512 байт, что не очень хорошо на больших разделах, кроме того, диск после конвертации будет сильно фрагментирован. Обратное преобразование (NTFS -> FAT) без потери данных средствами XP невозможно, потребуется отформатировать раздел заново.
2. Выполнить конвертацию также сможет программа Partition Magic. C NTFS 5 нормально работает, начиная с версии 6.0, но если использовать только загрузочную дискету, то подойдет и версия 5.01. Данная программа также позволяет выполнять обратное преобразование без потери данных и даже может менять размер кластера (к сожалению, только на FAT16 и FAT32). Partition Magic не работает с динамическими дисками, только с основными.

Лучшие статьи по теме