NTFS – это восстанавливаемая файловая система, сочетающаяся быстродействие файловой системы с отложенной записью и практически мгновенное восстановление.
Каждая операция ввода/вывода, изменяющая файл на томе NTFS, рассматривается файловой системой как транзакция. При модификации файла пользователем сервис файла регистрации фиксирует всю информацию, необходимую для повторения или отката транзакции. Если транзакция завершена успешно, производится модификация файла. Если нет, NTFS производит откат транзакции, следуя инструкциям в информации отмены. При обнаружении в транзакции ошибки транзакция прокручивается обратно.
Файловая система восстанавливается очень просто. При сбое системы NTFS выполняет три прохода: анализа, повторов и откатов. В течение анализа на основании информации файла регистрации NTFS оценивает повреждение и точно определяет, какие кластеры нужно модифицировать. При повторном проходе выполняются все этапы транзакции от последней контрольной точки. Откат осуществляет возврат всех незавершенных транзакций.
Важная особенность NTFS – отложенная передача (lazy commit) – позволяет минимизировать затраты на регистрацию транзакций и подобна отложенной записи. Вместо использования ресурсов для немедленной отметки транзакции как успешно завершенной эта информация заносится в кэш и записывается в файл регистрации. Если сбой происходит до того, как информация о транзакции была зарегистрирована, NTFS произведет повторную проверку транзакции для определения ее успешности. Если NTFS не может гарантировать, что транзакция завершились успешно, производится откат транзакции. Никакие незавершенные модификации тома не разрешены.
Каждые несколько секунд NTFS проверяет кэш, чтобы определить состояние отложенной записи и отметить его в файле регистрации как контрольную точку. Если после определения контрольной точки произойдет сбой, система имеет возможность привести свое состояние к зафиксированному контрольной точкой. Данный метод использует оптимальное время восстановления, сохраняя очередь событий, которая может потребоваться в процессе восстановления. Этот уровень предназначен для защиты метаданных — пользовательские в случае сбоя системы могут быть разрушены.
Объем журнала транзакций устанавливается командой CHKDSK /L:размер. Размер указывается в килобайтах. По умолчанию он ранен 4096 Кб. Чтобы узнать текущий размер журнала, выполните команду cbkdsk /L.
На диске NTFS все каталоги и файлы рассматриваются как отдельные объекты.
Каждый раз, когда пользователь хочет получить доступ к какому-то объекту, его учетная запись проверяется на наличие права на доступ к данному объекту. Если этого права нет, то пользователь получает отказ.
NTFS не может быть использована для дискет.
NTFS нельзя использовать для разделов менее 50 Мб на винчестере, т. к. для малых разделов структура каталогов NTFS может занимать до 25 % емкости диска.
Рекомендуется для NTFS брать раздел не менее 400 Мб.