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 – повышение быстродействия сопровождается невозможностью использования старых программ. В общем случае, изменение стандартного поведения файловой системы может повысить ее быстродействие, однако чревато потерей универсальности и совместимости программных продуктов.