FSUFIL.EXE — служебная утилита с обширными возможностями по управлению объектами файловых систем Windows. Позволяет оптимизировать параметры надежности и быстродействия программно-аппаратных систем хранения и обработки данных. Большинство изменений, которые команда FSUTIL вносит в конфигурацию системы, являются изменениями системного реестра. Для того, чтобы изменения вступили в силу, как правило, необходима перезагрузка операционной системы.

1. Описание команды FSUTIL.

1.1. При запуске FSUTIL без параметров, отображается список поддерживаемых внутренних команд:

  • 8dot3name — Управление 8dot3name
  • behavior — Управление поведением файловой системы
  • dirty — Управление «грязным» битом тома
  • file — Команды управления файлом
  • fsinfo — Сведения о файловой системе
  • hardlink — Управление жесткими связями
  • objectid — Управление идентификаторами объектов
  • quota — Управление квотами
  • repair — Управление самовосстановлением
  • reparsepoint — Управление точками повторного анализа
  • resource — Управление диспетчером ресурсов транзакций
  • sparse — Управление разреженными файлами
  • tiering — Управление свойствами многоуровневых хранилищ
  • transaction — Управление транзакциями
  • usn — Управление USN
  • volume — Управление томами
  • wim — Прозрачное управление хостингом WIM

1.2. Для получения дополнительной справки по подкомандам и х параметрам используется синтаксис:

C:\ fsutil подкоманда [… подкоманда] [параметры]

Например:

C:\ fsutil 8dot3name

В ответ получаем подсказку:

---- Поддерживаемые команды 8DOT3NAME ----

query Запрос текущего параметра поведения коротких имен в системе scan Поиск затронутых записей реестра set Изменение параметра, управляющего поведением коротких имен в системе strip Удаление коротких имен всех файлов в каталоге

1.3. Если последующий ввод команд и параметров синтаксически верен, то в ответ получаем результат выполнения.

C:\ fsutil 8dot3name query

Результат:

Состояние реестра: 2 (значение по умолчанию, установка на уровне тома).

1.4. Если ввод синтаксически верен, но требуется справочная информация, то используется параметр /?:

C:\ fsutil 8dot3name query /?

В отличие от предыдущего случая, результатом выполнения команды будет отображение справки по использованию:

Использование: query [ < путь_к_тому > ]
Если том не указан, отображается глобальное состояние 8dot3name.
Если том указан, отображается состояние 8dot3name тома.
Примеры команды:
"fsutil 8dot3name query"
"fsutil 8dot3name query C:"

1.5. Если подкоманде требуются какие-либо дополнительные параметры, будет отображена подсказка по использованию:

C:\ fsutil 8dot3name scan

Использование:

C:\ fsutil 8dot3name scan /s /l файл журнала /v путь_к_каталогу

Эта команда ищет по указанному пути к каталогу разделы реестра, которые могут быть затронуты при удалении коротких имен по этому пути.

  • /s — рекурсивный режим — задает применение операции к подкаталогам.
  • /v — подробный режим — задает отображение всех сведений, заносимых в журнал, в консоли.
  • /l — задает имя файла журнала для записи. За параметром должен быть указан путь к файлу журнала. Если этот параметр не указан, используется следующий файл журнала: «%temp%\8dot3_removal_log@(GMT YYYY-MM-DD HH-MM-SS).log»

Пример команды:

C:\ fsutil 8dot3name scan /l mylogfile.log /s D:\MyData

2. Примеры использования FSUTIL.

2.1. Получение информации об объектах файловой системы.

2.1.1. Для отображения сведений о файловой системе используется команда:

C:\ fsutil fsinfo

—- Поддерживаемые команды FSINFO —-

  • drives — Список всех дисков
  • driveType — Запрос типа диска
  • ntfsInfo — Запрос сведений о томе NTFS
  • nrefsInfo — Запрос сведений о томе REFS
  • sectorInfo — Запрос сведений о секторе
  • statistics — Запрос статистики файловой системы
  • volumeInfo — Запрос сведений о томе

2.1.2. Список всех дисков (отображаются буквы дисков, включая съемные, сетевые и созданные командой SUBST):

C:\ fsutil fsinfo drives

2.1.3. Отобразить тип диска (Компакт, сетевой, жесткий, съемный). Отобразить тип диска L:

C:\ fsutil fsinfo drivetype L:

2.1.4. Отобразить информацию о файловой системе диска C:

C:\ fsutil fsinfo ntfsinfo C:

Пример отображаемой информации для тома NTFS Windows 10:

Серийный номер тома NTFS:       0xca44e57211f563d3
Версия NTFS:       3.1
Версия LFS:       2.0
Число секторов:       0x00000000076ebfff
Всего кластеров:       0x0000000000edd7ff
Свободных кластеров:       0x00000000009156fb
Всего зарезервировано:       0x0000000000001f0a
Байт на сектор:       512
Байт на физический сектор:       512
Байт на кластер:       4096
Байт на сегмент FileRecord:       1024
Кластеров на сегмент FileRecord:       0
Допустимая длина данных Mft:       0x0000000017f80000
Начальный Lcn Mft:       0x00000000000c0000
Начальный Lcn Mft2:       0x0000000000000002
Начало зоны Mft:       0x00000000004f14c0
Конец зоны Mft:       0x00000000004f7c60
Макс. число экстентов устройства:       0
Макс. число байт усечения устройства:       0x0
Макс. число экстентов усечения тома:       62
Макс. число байт усечения тома:       0x40000000
Идентификатор диспетчера ресурсов:       FC849258-400C-11E5-97F1-DDD2C01A9C8B

2.1.5. Получения информации о томе. Отобразить сведения о диске C:

C:\ fsutil fsinfo volumeinfo C:

Пример отображаемой информации:

Имя тома: DriveC
Серийный номер тома: 0x11f563dde
Максимальная длина компонентов: 255
Имя файловой системы: NTFS
Чтение и запись
Поддерживает учет регистров в именах файлов
Сохраняет имена файлов с учетом регистра
Поддерживает использование Юникода в именах файлов
Поддерживает обязательное использование списков доступа (ACL)
Поддерживает сжатие файлов
Поддерживает дисковые квоты
Поддерживает разреженные файлы
Поддерживает точки повторной обработки
Поддерживает идентификаторы объектов
Поддерживает шифрование на уровне файловой системы (EFS)
Поддерживает именованные потоки
Поддержка транзакций
Поддерживает жесткие ссылки
Поддерживает расширенные атрибуты
Поддерживает открытие по идентификатору файла
Поддерживает журнал USN

2.1.6. Для получения статистических данных отдельного тома, используется команда:

C:\ fsutil fsinfo statistics C:

Результат:

Тип файловой системы: NTFS
UserFileReads : 48904
UserFileReadBytes : 1349381120
UserDiskReads : 50577
UserFileWrites : 4758
UserFileWriteBytes : 62820352
UserDiskWrites : 4749
MetaDataReads : 30847
MetaDataReadBytes : 275345408
MetaDataDiskReads : 49488
MetaDataWrites : 1990
MetaDataWriteBytes : 11247616
MetaDataDiskWrites : 2433
MftReads: 30191
MftReadBytes: 262848512
MftWrites: 1520
MftWriteBytes: 8101888
Mft2Writes: 0
Mft2WriteBytes: 0
RootIndexReads: 0
RootIndexReadBytes: 0
RootIndexWrites: 0
RootIndexWriteBytes: 0
BitmapReads: 2
BitmapReadBytes: 2097152
BitmapWrites: 347
BitmapWriteBytes: 1978368
MftBitmapReads: 1
MftBitmapReadBytes: 65536
MftBitmapWrites: 28
MftBitmapWriteBytes: 114688
UserIndexReads: 18823
UserIndexReadBytes: 88637440
UserIndexWrites: 419
UserIndexWriteBytes: 2387968
LogFileReads: 8
LogFileReadBytes: 32768
LogFileWrites: 1454
LogFileWriteBytes: 19218432
LogFileFull: 0
DiskResourceFailure: 0
VolumeTrimCount: 97
AvgVolumeTrimTime (мс): 0
AvgVolumeTrimSize (КБ): 817
AvgVolumeTrimSpeed (КБ/с): 4436782
VolumeTrimSkippedCount: 0
VolumeTrimSkippedSize (КБ): 0
FileLevelTrimCount: 0
AvgFileLevelTrimTime (мс): 0
AvgFileLevelTrimSize (КБ): 0
AvgFileLevelTrimSpeed (КБ/с): 0

2.1.7. Команда FSUTIL fsinfo sectorinfo не поддерживается в Windows 7, а в Windows 8 и Windows 10 отличается объемом отображаемых сведений. Отобразить сведения о секторах для диска C:

C:\ fsutil fsinfo sectorinfo C:

Пример отображаемой информации в ОС Windows 10:

LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 512
PhysicalBytesPerSectorForPerformance : 512
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 512
Выравнивание устройства : Выровнено (0x000)
Выравнивание разделов на устройстве : Выровнено (0x000)
Выполняет обычные поиски
Очистка не поддерживается
Не поддерживает DAX

3. Режимы использования имен 8Dot3.

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

  • Program Files получит соответствие Progra~1
  • Program Files (x86) получит соответствие Progra~2

Для работы с файлами можно использовать как короткие 8dot3name имена, так и длинные. Например:

C:\ dir ”Program Files”
C:\ dir Progra~1

Обе команды идентичны и отобразят содержимое каталога Program Files.

Использование режима работы файловой системы с поддержкой имен формата 8dot3name снижает ее быстродействие, хотя и в незначительной степени. Данный режим работы можно изменить с помощью утилиты fsutil. Хотя в большинстве случаев, делать этого не стоит, поскольку совместимость приложений предпочтительнее мизерного выигрыша в быстродействии файловой системы. Все команды нужно выполнять в командной строке, запущенной от имени администратора.

3.1. Отобразить текущее состояние режима поддержки имен в формате 8dot3name:

C:\ fsutil 8dot3name query

Стандартный ответ при выполнении команды, содержит числовое значение, определяющее режим поддержки коротких имен:

Состояние реестра: 2 (значение по умолчанию, установка на уровне тома).

Возможные значения:

  • 0 – поддержка коротких имен включена для всех томов файловой системы.
  • 1 – поддержка коротких имен выключена
  • 2 – поддержка коротких имен устанавливается для каждого тома отдельно.
  • 3 — создание имен 8dot3 для всех томов, за исключением системного, отключено.

Для отключения поддержки коротких имен на уровне файловой системы выполняется команда:

C:\ fsutil 8dot3name set 1

В результате успешного выполнения команды отображается сообщение:

Состояние реестра сейчас: 1 (запрещено создание имен 8dot3 во всех томах).

3.2. Отключение поддержки коротких имен на уровне тома. Отключить 8dot3name для диска C:

C:\ fsutil 8dot3name set C: 1

Вновь создаваемые файлы не будут иметь имен в формате 8.3, что можно проверить командой DIR с параметром /X.

3.3. Независимо от установленного режима создания коротких имен, можно принудительно присвоить короткое имя конкретному файлу или папке. Присвоить папке ”C:\Program Files” короткое имя PROGRA~1:

C:\ fsutil file setshortname ”C:\Program Files” PROGRA~1

В случае необходимости изменения режимов использования имен 8dot3name для отдельных томов используется команда FSUTIL behavior. Данная команда задает важные параметры работы файловой системы, которые оказывают влияние на ее надежность и быстродействие. Работа с короткими именами – всего лишь незначительная часть функциональных возможностей команды.

4. Примеры использования fsutil behavior.

Варианты использования FSUTIL behavior:

4.1. Отобразить состояние параметров:

C:\ fsutil behavior query параметр

4.2. Установить значение параметра:

C:\ fsutil behavior set параметр

Перечень допустимых параметров:

  • AllowExtChar — разрешить использование расширенной таблицы символов в именах.
  • BugcheckOnCorrupt — разрешить проверку файловой системы при повреждении.
  • Disable8dot3 [< путь к тому >] — управление именами 8.3 для конкретного тома.
  • DisableCompression — управление сжатием данных для экономии дискового пространства.
  • DisableCompressionLimit управление ограничением сжатия данных.
  • DisableDeleteNotify [NTFS|ReFS] — отключение использования TRIM для SSD-накопителей на всех томах файловой системы NTFS или ReFS. ReFS (Resilient file system, предварительное название Protogon) — локальная файловая система, используемая в Windows Server 2012, Windows Server 2012 R2, бета-версиях Windows 8, Windows 8.1. Является дальнейшим развитием NTFS. Значение DisableDeleteNotify равное нулю, означает, что поддержка TRIM включена. Если используется диск SSD при выключенной TRIM, то срок службы диска может значительно снизиться. Чтобы предотвратить это, нужно включить поддержку TRIM командой fsutil behavior set disabledeletenotify 0
  • DisableEncryption — отключение шифрования.
  • DisableFileMetadataOptimization — управление внутренней оптимизацией метаданных на томах NTFS
  • DisableLastAccess — управление метками, отображающими время последнего доступа к файлу.
  • DisableSpotCorruptionHandling — одна из новых особенностей, реализованная в Windows 8 и Windows Server 2012 для обеспечения запуска утилиты проверки диска CHKDSK. Позволяет выполнять проверку без перевода тома в автономный режим. Для вступления в силу изменившегося параметра требуется перезагрузка системы.
  • EncryptPagingFile — управление шифрованием файла подкачки. По умолчанию, файл подкачки не шифруется.
  • MemoryUsage — управление кэшированием выгружаемого и невыгружаемого пула страниц для файловой системы NTFS. Изменение этих параметров позволяет увеличить производительность файловой системы.
  • MftZone — управление размером данных MFT (MFT Zone), который определяется сегментами размером 200MB. Значение параметра — от 1 (по умолчанию — 200 MB) до 4 (максимально возможное — 800 MB).
  • QuotaNotify — управление частотой оповещений о нарушении квот на разделах NTFS (частотой записи в системный журнал). По умолчанию – 3600 секунд (один раз в час).
  • SymlinkEvaluation — управление режимами создания символьных ссылок для NTFS.

Возможные параметры:

1. Символические ссылки с локального объекта на локальный объект 1. Символические ссылки с локального объекта на локальный объект (Local to local symbolic links, L2L):{0|1}

2. Символические ссылки с локального объекта на удаленный объект (Local to remote symbolic links, L2R):{0|1}

3. Символические ссылки с удаленного объекта на локальный объект (Remote to local symbolic links, R2R):{0|1}

4. Символические ссылки с удаленного объекта на удаленный объект (Remote to remote symbolic links, R2L):{0|1}
  • DisableWriteAutoTiering [< путь к тому >] — управление многоуровневыми томами в файловой системе ReFS
  • DisableTxf [< путь к тому >] — отключение особенностей транзакционной NTFS для указанного тома. Команда поддерживается в Windows 10 и старше. По умолчанию параметр имеет значение 0 (система TxF включена).

Транзакционная NTFS (TxF) — технология, появившаяся в Windows Vista и последующих операционных системах, позволяющая производить файловые операции на разделе с файловой системой NTFS при помощи транзакций, обеспечивая поддержку семантики атомарности, согласованности, изолированности и надёжности (ACID). Технология позволяет производить атомарные операции над файлом, над несколькими файлами и над несколькими источниками данных, такими, как реестр и базы данных. Эта технология призвана повышать надёжность создаваемых приложений, способствуя поддержанию целостности данных, и упрощать их разработку благодаря значительному уменьшению объема кода обработки ошибок.

4.3. Отобразить режим использования коротких имен 8dot3 для всех томов файловой системы:

C:\ fsutil behavior query disable8dot3

4.4. Отобразить режим использования коротких имен 8dot3 для диска C:

C:\ fsutil behavior query disable8dot3 C:

В случае, если создание коротких имен отключено для всех томов, отображается сообщение:

Состояние тома: 0 (создание имен 8dot3 включено).
Состояние реестра: 1 (создание имен 8dot3 отключено для всех томов).
В соответствии с двумя указанными выше параметрами создание имен 8dot3 отключено для C: 

В данном примере, создание коротких имен отключено для всей файловой системы и для его включения используется команда установления режима поддержки имен 8dot3 на уровне томов:

C:\ fsutil behavior set disable8dot3 2

Теперь, при выполнении команды:

C:\ fsutil behavior query disable8dot3 C:

отобразится сообщение:

Состояние тома: 0 (создание имен 8dot3 включено).
Состояние реестра: 2 (значение по умолчанию, установка на уровне тома).
В соответствии с двумя указанными выше параметрами создание имен 8dot3 включено для C: 

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

5. Управление признаком ошибки файловой системы (”грязным битом тома”).

Команда FSUTIL позволяет управлять признаком ошибочности тома (”грязный” том), для вызова его проверки утилитой CHKDSK при следующей перезагрузке:

5.1. Отобразить состояние признака ошибки на диске C:

C:\ fsutil dirty query volume C:

5.2. Установить состояние признака ошибки на диске C:

C:\ fsutil dirty set volume C:

6. Работа с логическими томами NTFS.

Для работы с логическими томами используется команда FSUTIL volume. Возможности данной команды разные в различных версиях ОС Windows. Список поддерживаемых команд команды VOLUME для Windows 10:

  • list Список томов
  • diskfree Запрос свободного места в томе
  • dismount Отключение тома
  • querycluster Запрос файла, использующего определенный кластер
  • filelayout Запрос всей информации, доступной о файлах
  • allocationreport Отчет о выделенных кластерах
  • fsutil volume list — отобразить список томов и возможных точек подключения. Команда не поддерживается в ОС Windows 7.
  • fsutil volume diskfree C: — отобразить сведения о свободном пространстве для диска C:
  • fsutil volume dismount I: — отключить том I:. Команда не выполняется по отношению к системным и сетевым дискам.
  • fsutil volume querycluster C: 50 0x2000 — отобразить информацию о кластерах 50 (в десятичном виде) и 0x2000 (в шестнадцатеричном виде).

Пример отображаемой информации:

Кластер 0x0000000000002000 используется ----D \Windows\System32\advapi32.dll:WofCompressedData:$DATA

Кластер 0x0000000000000032 используется ----D \ProgramData\Microsoft\Windows Defender\Scans\mpcache-6D5D59BF4911FA11FBE511B4E1FD234AE10D9AA7.bin.67::$DATA

После номера кластера отображается его атрибут (—-D).

Определения значений атрибутов:

-----
^^^^^
|||||- D = атрибут данных, I=атрибут индекса, S=системный атрибут, ?=неизвестно
||||-- A = отклонение запроса на дефрагментацию
|||--- T = файл системы TxF
||---- S = файл метаданных системы NTFS
|----- P = файл подкачки

6.1. Отобразить информацию о распределении пространства диска C:

C:\ fsutil volume allocationreport C:

Пример отображаемой информации:

Отчет о выделении:
Всего кластеров              : 15 587 327 (63 845 691 392 байт)
Свободных кластеров               : 9 525 109 (39 014 846 464 bytes)
Зарезервировано кластеров           : 8 011 (32 813 056 байт)
Всего выделено             : 24 830 844 928 байт

Ресурсы распределены между следующими файлами:
Системные файлы                : Число: 28. Всего выделено: 551 993 344 bytes.
    $Mft                    : ИД файла 0x0001000000000000. Всего выделено: 402 182 144 байт.
    $MftMirr                : ИД файла 0x0001000000000001. Всего выделено: 4 096 байт.
    $LogFile                : ИД файла 0x0002000000000002. Всего выделено: 67 108 864 байт.
    $Volume                 : ИД файла 0x0003000000000003. Всего выделено: 0 байт.
    $AttrDef                : ИД файла 0x0004000000000004. Всего выделено: 4 096 байт.
    Root folder             : ИД файла 0x0005000000000005. Всего выделено: 8 192 байт.
    $Bitmap                 : ИД файла 0x0006000000000006. Всего выделено: 1 949 696 байт.
    $Boot                   : ИД файла 0x0007000000000007. Всего выделено: 8 192 байт.
    $BadClus                : ИД файла 0x0008000000000008. Всего выделено: 0 байт.
    $Secure                 : ИД файла 0x0009000000000009. Всего выделено: 7 020 544 байт.
    $UpCase                 : ИД файла 0x000a00000000000a. Всего выделено: 131 072 байт.
    $Extend                 : ИД файла 0x000b00000000000b. Всего выделено: 0 байт.
    $ObjId                  : ИД файла 0x0001000000000019. Всего выделено: 98 304 байт.
    $Quota                  : ИД файла 0x0001000000000018. Всего выделено: 0 байт.
    $Reparse                : ИД файла 0x000100000000001a. Всего выделено: 5 505 024 байт.
    $UsnJrnl                : ИД файла 0x000200000000e984. Всего выделено: 36 438 016 байт.
    $RmMetadata             : ИД файла 0x000100000000001b. Всего выделено: 0 байт.
    $Repair                 : ИД файла 0x000100000000001c. Всего выделено: 9 437 184 байт.
    $Txf                    : ИД файла 0x000100000000001e. Всего выделено: 8 192 байт.
    $TxfLog                 : ИД файла 0x000100000000001d. Всего выделено: 4 096 байт.
    $Tops                   : ИД файла 0x000100000000001f. Всего выделено: 1 048 576 байт.
    $TxfLog.blf             : ИД файла 0x0001000000000020. Всего выделено: 65 536 байт.
    Другие системные файлы      : Число: 4. Всего выделено: 0 байт.
    Другие системные файлы в папке $TxfLog:
        Число               : 2
        Всего выделено     : 20 971 520 байт.

System Volume Information   : Всего выделено: 823 296 байт.
    Файлы                   : Число: 9. Всего выделено: 806 912 байт.
    Папки                 : Число: 11. Всего выделено: 16 384 байт.

Папки пользователей                  : Число: 45 538. Всего выделено: 119 119 872 байт.
    Потоки по умолчанию         : 8 911
        Выделено           : 8 904
        Всего выделено     : 119 099 392 байт.
    Именованные потоки           : 9
        Выделено           : 0
        Всего выделено     : 0 байт.
    Локальные потоки метаданных  : 184 143
        Выделено           : 3
        Всего выделено     : 20 480 байт.
В этих папках:
    Сжато              : 134
        Всего выделено     : 0 байт
        Общий размер          : 0 байт.
        Экономия             : 0,00 %
    Разрежено                  : 0
        Всего выделено     : 0 байт
        Общий размер          : 0 байт.
        Экономия             : 0,00 %
    Зашифровано               : 0
        Всего выделено     : 0 байт

    С именованными потоками      : 9
        Сжато          : 1
        Разрежено              : 0
        Зашифровано           : 0
    Без выделения      : 36 634

Файлы пользователей                  : Число: 155 131. Всего выделено: 24 158 908 416 байт.
    Потоки по умолчанию         : 155 131
        Выделено           : 84 489
        Всего выделено     : 19 403 325 440 байт.
    Именованные потоки           : 33 645
        Выделено           : 33 635
        Всего выделено     : 4 752 371 712 байт.
    Локальные потоки метаданных  : 605 228
        Выделено           : 784
        Всего выделено     : 3 211 264 байт.
В этих файлах:
    Сжато              : 685
        Всего выделено     : 240 078 848 байт
        Общий размер          : 650 248 478 байт.
        Экономия             : 63,08 %
    Разрежено                  : 43 518
        Всего выделено     : 193 478 656 байт
        Общий размер          : 9 750 325 649 байт.
        Экономия             : 98,02 %
    Зашифровано               : 0
        Всего выделено     : 0 байт

    С именованными потоками      : 33 642
        Сжато          : 0
        Разрежено              : 0
        Зашифровано           : 0
    Без выделения      : 36 972

Команда поддерживается только в Windows 10 и старше.

6.2. Отобразить всю доступную информацию о файле C:\$MFT, т.е. о главной файловой таблице Master File Table в которой хранится информация о содержимом тома с файловой системой NTFS

C:\ fsutil volume filelayout C:\$MFT

Команда не поддерживается в Windows 7.

Пример отображаемых данных:

********* Файл 0x0001000000000000 *********
Номер ссылки файла: 0x0001000000000000
Атрибуты файла: 0x00000006: Скрытый | Система
Флаги записи файла: 0x00000000
Ссылка (ИД родителя, имя): 0x0005000000000005, $MFT
Время создания: 30.07.2015 6:26:27
Время последнего доступа: 30.07.2015 6:26:27
Время последней записи: 30.07.2015 6:26:27
Время изменения: 30.07.2015 6:26:27
LastUsn: 0
OwnerId: 0
SecurityId: 256
Поток: ::$STANDARD_INFORMATION
    Атрибуты: 0x00000000: *НЕТ*
    Флаги: 0x0000000c: Резидентный | Нет выделенных кластеров
    Размер: 72
    Выделенный размер: 72
Поток: ::$FILE_NAME
    Атрибуты: 0x00000000: *НЕТ*
    Флаги: 0x0000000c: Резидентный | Нет выделенных кластеров
    Размер: 74
    Выделенный размер: 80
Поток: ::$DATA
    Атрибуты: 0x00000000: *НЕТ*
    Флаги: 0x00000000: *НЕТ*
    Размер: 216793088
    Выделенный размер: 216793088
    Экстентов: 4
                        : 1: VCN: 0, кластеры: 20160, LCN: 786432
                        : 2: VCN: 20160, кластеры: 384, LCN: 2711224
                        : 3: VCN: 20544, кластеры: 24833, LCN: 2744236
                        : 4: VCN: 45377, кластеры: 7551, LCN: 4089968
Поток: ::$BITMAP
    Атрибуты: 0x00000000: *НЕТ*
    Флаги: 0x00000000: *НЕТ*
    Размер: 28680
    Выделенный размер: 32768
    Экстентов: 1
                        : 1: VCN: 0, кластеры: 8, LCN: 1066580

7. Управление файлами.

Для работы с файлами используется команда fsutil file.

Поддерживаемые команды:

  • createnew — Создание файла заданного размера
  • findbysid — Поиск файла по идентификатору безопасности
  • optimizemetadata — Оптимизация метаданных для файла
  • queryallocranges — Запрос выделенных диапазонов для файла
  • queryextents — Запрос областей памяти для файла
  • queryfileid — Запрос идентификатора указанного файла
  • queryfilenamebyid — Отображение произвольного имени ссылки для идентификатора файла
  • queryoptimizemetadata — Запрос состояния оптимизации метаданных для файла
  • queryvaliddata — Запрос допустимой длины данных для файла
  • setshortname — Указание короткого имени для файла
  • setvaliddata — Указание допустимой длины данных для файла
  • setzerodata — Обнуление данных в файле
  • seteof — Указание конца для существующего файла

Примеры:

7.1. Создать новый файл размером 1000 байт:

C:\ fsutil file createnew C:\Myfile.txt 1000

7.2. оптимизировать метаданные для указанного файла:

C:\ fsutil file optimizemetadata C:\folder\file.txt

7.3. Отобразить состояние оптимизации метаданных для файла C:\folder\file.txt:

C:\ fsutil file queryoptimizemetadata C:\folder\file.txt

7.4. Запросить допустимый размер указанного файла:

C:\ fsutil file queryvaliddata C:\ab\file.txt

Обычно используется для определения размера файла. При выполнении команды отображается реальный размер существующего файла в 16-ричном и десятичном виде, например:

Допустимая длина данных — 0x18710 (100112)

7.5. Установить короткое имя file.txt для файла C:\temp\LongFilename.txt:

C:\ fsutil file setshortname C:\temp\LongFilename.txt file.txt

7.6. Найти файлы созданные пользователем user домена win10 в папке C:\users:

C:\ fsutil file findbysid win10\user C:\users

Команда выполняется только для тома с включенным механизмом квот.

7.7. Файловая система NTFS предоставляет возможность экономии дискового пространства при использовании технологии разреженных файлов. Разрежённый файл (англ. sparse file) — файл, в котором последовательности нулевых байтов (все биты которых равны нулю) заменены на информацию об этих последовательностях. Использование таких файлов позволяет экономить дисковое пространство в файловой системе NTFS за счет того, что последовательностям пустых байт (0x00) не выделяется соответствующее реальное дисковое пространство. Эта технология не имеет отношения к технологии сжатия данных и касается только файлов, содержащих нулевые данные. Благодаря технологии разреженных файлов, можно создавать файлы большого размера, состоящие из нулей, но реально занимающие мизерное дисковое пространство. В таких файлах реальное дисковое пространство выделяется только тогда, когда вместо байт 0x00 записываются какие-то другие данные. Разреженность поможет сэкономить дисковое пространство только в таких файлах, в которых есть действительно большие пустые области.

Эффективность применения разреженных файлов можно продемонстрировать следующим образом – взять флэшку, создать на ней файл большого размера, зафиксировать объем свободного пространства. Затем применить разрежение файла и оценить изменение свободного пространства. Например:

Создадим с помощью утилиты пустой файл размером 1000 млн.байт на диске, емкостью 2ГБ:

C:\ fsutil file createnew zerotest.txt 1000000000

Такой файл занимает около половины дискового пространства. Присвоим файлу атрибут ”sparse”:

C:\ fsutil sparse setflag zerotest.txt

Затем задаем область внутри файла, которая будет освобождена от нулевых данных, например, от 0 до максимального значения, т.е. весь файл полностью:

C:\ fsutil sparse setrange zerotest.txt 0 1000000000

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

7.8. Утилиту FSUTIL можно использовать и для получения сведений о разреженных файлах. Отобразить информацию о распределении дискового пространства тома D:

C:\ fsutil volume allocationreport D:

Команда не поддерживается в Windows 7.

Пример :

Разрежено                  : 1
        Всего выделено     : 0 байт
        Общий размер          : 1 000 000 000 байт.
        Экономия             : 100,00 %

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

Разрежено                  : 1
        Всего выделено     : 65 536 байт
        Общий размер          : 1 000 000 012 байт.
        Экономия             : 99,99 %

8. Управление восстановлением.

8.1. Отобразить справку по команде:

C:\ fsutil repair

Поддерживаемые команды REPAIR

  • enumerate — Перечисление записей журнала повреждений тома
  • initiate — Запуск восстановления файла
  • query — Запрос состояния самовосстановления тома
  • set — Установка состояния самовосстановления для тома
  • state — Запрос состояния повреждения томов
  • wait — Ожидание завершения восстановления

Примеры:

8.1. Отобразить записи о повреждениях тома C:

C:\ fsutil repair enumerate C:

8.2. Отобразить состояния повреждений всех томов системы:

C:\ fsutil repair state

8.3. Отобразить состояния повреждения диска C:

C:\ fsutil repair state C:

8.4. Отобразить состояние самовосстановления диска C:

C:\ fsutil repair query c:

Пример отображаемой информации:

Состояние самовосстановления c:: 0x1

 Значения: 0x1 — включение общего восстановления.
           0x9 — включение общего восстановления и предупреждений
                 о возможной потере данных.
          0x10 — отключение восстановления и выполнение однократной
                 проверки ошибок при первом повреждении.

9. Управление диспетчером ресурсов транзакций.

Используется команда

C:\ fsutil resource

Поддерживаемые команды RESOURCE:

  • create — Создание вспомогательного диспетчера ресурсов транзакций
  • info — Отображение сведений о диспетчере ресурсов транзакций
  • setautoreset — Определение необходимости очистки диспетчером ресурсов транзакций своих метаданных транзакций при следующем подключении
  • setavailable — Установка приоритета доступности над целостностью в диспетчере ресурсов транзакций
  • setconsistent — Установка приоритета целостности над доступностью в диспетчере ресурсов транзакций
  • setlog — Изменение характеристик запущенного диспетчера ресурсов транзакций
  • start — Запуск диспетчера ресурсов транзакций
  • stop — Остановка диспетчера ресурсов транзакций

10. Управление USN.

Журнал USN (англ. Update Sequence Number, USN) — внутренний системный список файловой системы NTFS, содержащий записи изменений данных на разделе носителя с данной файловой системой. Для каждого NTFS раздела создается отдельный журнал, который начинается с пустого файла. При изменении данных в разделе, в журнал записывается информация об изменении. Каждая запись идентифицируется 64-битным номером последовательного обновления (USN) и содержит имя файла и информацию об изменении. Журнал USN сохраняет информацию лишь о том, что произошло с файлами, не сохраняя при этом данных. Для управления журналом последовательных изменений используется команда FSUTIL USN.

Поддерживаемые команды USN:

  • createjournal — Создает журнал USN
  • deletejournal — Удаляет журнал USN
  • enumdata — Перечисляет данные USN
  • readjournal — Читает записи USN из журнала USN
  • queryjournal — Запрашивает данные USN для тома
  • readdata — Читает данные USN для файла
  • enablerangetracking — Включает отслеживание диапазона записи для тома

10.1. Отобразить данные USN для указанного файла:

C:\ fsutil usn readdata C:\windows\bootstat.dat

Пример отображаемой информации:

Основная версия        : 0x3
Вспомогательная версия : 0x0
FileRef#               : 0x00000000000000000005000000040981
Родительский FileRef#  : 0x0000000000000000000700000001d457
USN                    : 0x00000000d7d59ae8
Метка времени        : 0x0000000000000000 0:00:00 01.01.1601
Причина                : 0x0
Информация источника   : 0x0
ИД безопасности        : 0x0
Атрибуты файла         : 0x24
Длина имени файла      : 0x18
Смещение имени файла   : 0x4c
Имя файла              : bootstat.dat

10.2. Отобразить данные USN для тома C:

C:\ fsutil usn queryjournal C:

Пример отображаемой информации:

ИД журнала USN            : 0x01d0d41247cc12ba
Первый USN                : 0x00000000d6b40000
Следующий USN             : 0x00000000d8e16bd8
Наименьший допустимый USN : 0x0000000000000000
Максимальный USN          : 0x7fffffffffff0000
Максимальный размер       : 0x0000000002000000
Разница размещения        : 0x0000000000800000
Минимальная поддерживаемая версия записи: 2
Максимальная поддерживаемая версия записи: 4
Отслеживание диапазона записи: отключено

10.3. перечислить записи USN для диска C:

C:\ fsutil usn enumdata 1 0 1 C:

Пример отображаемой информации:

Ref# файла               : 0x0000000000000000000100000000001b
Ref# родительского файла : 0x0000000000000000000b00000000000b
Usn                      : 0x0000000000000000
ИД безопасности          : 0x00000000
Причина                  : 0x00000000
Имя (022)            : $RmMetadata

Ref# файла               : 0x0000000000000000000100000000001c
Ref# родительского файла : 0x0000000000000000000100000000001b
Usn                      : 0x0000000000000000
ИД безопасности          : 0x00000000
Причина                  : 0x00000000
Имя (014)            : $Repair

Ref# файла               : 0x0000000000000000000100000000001d
Ref# родительского файла : 0x0000000000000000000100000000001b
Usn                      : 0x0000000000000000
ИД безопасности          : 0x00000000
Причина                  : 0x00000000
Имя (014)            : $TxfLog

11. Управление жесткими ссылками.

11.1. Создать жесткую ссылку C:\file.txt на существующий файл C:\2.txt :

C:\ fsutil hardlink create c:\file.txt c:\2.txt

11.2. Отобразить список жестких ссылок файла 2.txt текущего каталога:

fsutil hardlink list 2.txt

Пример отображаемой информации:

\$Recycle.Bin\S-1-5-21-286343385-3247766274-3661458897-1000\$RDZCSWD.txt

\2.txt

\file.txt

12. Управление квотами.

Для управления квотами используется команда

C:\ fsutil quota. 

Поддерживаемые команды QUOTA:

  • disable — Выключение отслеживания и применения дисковых квот
  • enforce — Включение применения дисковых квот
  • modify — Установка дисковых квот для пользователя
  • query — Запрос дисковых квот
  • track — Включение отслеживания дисковых квот
  • violations — Отображение нарушений дисковых квот

12.1. Отобразить справку о команде:

C:\ fsutil quota modify

Результат:

Использование: fsutil quota modify < путь к тому > < порог > < предел > < пользоват. >
Пример: fsutil quota modify c: 3000 5000 domain\user

13. Дополнительная информация по использованию FSUTIL.

Команды должны выполняться с правами администратора системы. Возможности FSUTIL значительно отличаются в зависимости от версии Windows. Так, например, команда FSUTIL volume в Windows 7 имеет всего лишь три подкоманды, а в Windows 10 их шесть.

Утилита FSUTIL частично может использоваться и по отношению к файловым системам FAT/FAT32, однако большая часть команд выполняться не будет.

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

C:\ fsutil behavior set disablelastaccess 1

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