FSUTIL — управление файловой системой NTFS из командной строки

FSUTIL управляет файловой системой Windows: создаёт разрежённые файлы, запрашивает информацию о томах, управляет жёсткими ссылками и точками повторной обработки.

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

Синтаксис команды FSUTIL

FSUTIL подкоманда [параметры]

FSUTIL — это не одна команда, а набор подкоманд. Каждая подкоманда отвечает за свою группу операций:

  • fsutil behavior — поведение файловой системы (8.3-имена, отметки времени, журнал NTFS)
  • fsutil dirty — флаг «грязного» тома (требует chkdsk)
  • fsutil file — операции с файлами (размер, имена, разрежённые файлы)
  • fsutil hardlink — управление жёсткими ссылками
  • fsutil quota — дисковые квоты
  • fsutil reparsepoint — точки повторной обработки (junction, symlink)
  • fsutil sparse — разрежённые файлы
  • fsutil volume — информация о томе, список свободных кластеров
  • fsutil usn — журнал изменений USN (Update Sequence Number)

Ключи и параметры

Подкоманда Описание Пример
file queryFileSize Возвращает размер файла в байтах fsutil file queryFileSize C:\file.txt
file queryFileLongNameFor8dot3 Возвращает длинное имя для короткого 8.3-имени fsutil file queryFileLongNameFor8dot3 C:\PROGRA~1
hardlink create Создаёт жёсткую ссылку fsutil hardlink create C:\link.txt C:\original.txt
hardlink list Выводит все жёсткие ссылки на файл fsutil hardlink list C:\original.txt
dirty query Проверяет, установлен ли флаг «грязного» тома fsutil dirty query C:
dirty set Принудительно устанавливает флаг для запуска chkdsk при перезагрузке fsutil dirty set C:
volume diskFree Выводит объём свободного пространства на томе fsutil volume diskFree C:
volume list Перечисляет все тома в системе fsutil volume list
sparse setflag Устанавливает атрибут разрежённого файла fsutil sparse setflag C:\bigfile.bin
behavior query Запрашивает текущие параметры поведения NTFS fsutil behavior query disable8dot3

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

Узнать размер файла

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

fsutil file queryFileSize C:\Windows\System32\ntoskrnl.exe

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

Проверить свободное место на диске

Быстро узнать свободное пространство на конкретном томе.

fsutil volume diskFree C:

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

Создать жёсткую ссылку

Создать альтернативное имя для файла в пределах одного тома без копирования данных.

fsutil hardlink create C:\Backup\config.txt C:\Config\app.cfg

Оба имени ссылаются на одни физические данные. Удаление одного имени не удаляет файл — данные удаляются только после удаления всех ссылок.

Проверить флаг «грязного» тома

Узнать, запустит ли Windows chkdsk на этом диске при следующей перезагрузке.

fsutil dirty query C:

Если том «грязный», Windows выполнит проверку диска при старте. Это нормально после некорректного завершения работы.

Принудительно запустить chkdsk при следующей перезагрузке

Установить флаг для проверки диска, если есть подозрения на ошибки файловой системы.

fsutil dirty set C:

После перезагрузки Windows автоматически запустит chkdsk на диске C: перед загрузкой системы.

Отключить создание коротких имён 8.3

На больших томах с миллионами файлов отключение 8.3-имён ускоряет работу файловой системы.

fsutil behavior set disable8dot3 1

Значение 1 отключает генерацию коротких имён для новых файлов. Существующие имена не затрагиваются.

Создать разрежённый файл заданного размера

Создать файл-заглушку большого объёма, который занимает на диске только реально записанные данные.

fsutil file createnew C:\sparse_test.bin 1073741824
fsutil sparse setflag C:\sparse_test.bin

Первая команда создаёт файл размером 1 ГБ, вторая назначает ему атрибут разрежённого файла.

Частые ошибки и решения

Ошибка / ситуация Причина Решение
Отказано в доступе. FSUTIL требует прав администратора для большинства операций Запустите CMD через «Запуск от имени администратора»
Указанная файловая система не является NTFS. Операция применяется к FAT32 или exFAT тому Большинство функций FSUTIL работают только на NTFS. Проверьте тип тома через fsutil fsinfo volumeinfo C:
Команда fsutil file defragment не найдена Такой подкоманды в FSUTIL нет Для дефрагментации используйте defrag C: или командлет PowerShell Optimize-Volume
fsutil compress не найдена Управление сжатием NTFS — не функция FSUTIL Для сжатия файлов используйте команду compact или атрибуты через attrib
После fsutil dirty set chkdsk не запустился Диск C: не проверяется в рамках обычной сессии, только при перезагрузке Перезагрузите компьютер — chkdsk запустится до старта Windows

Когда применять, а когда нет

FSUTIL применяется в скриптах администрирования, где нужна информация о файловой системе или управление низкоуровневыми функциями NTFS: жёсткие ссылки, разрежённые файлы, USN-журнал, дисковые квоты. Команда не подходит для обычных файловых операций (копирование, переименование, удаление) — для этого есть COPY, REN, DEL. Требует прав администратора и работает только с NTFS-томами. В PowerShell аналоги — командлеты Get-Volume, New-Item -ItemType HardLink, Optimize-Volume.

FAQ

Чем FSUTIL отличается от CHKDSK и DISKPART?

CHKDSK проверяет и исправляет ошибки файловой системы. DISKPART управляет разделами диска. FSUTIL работает на уровне функций файловой системы NTFS: атрибуты файлов, жёсткие ссылки, информация о томе, разрежённые файлы.

Нужны ли права администратора для всех подкоманд FSUTIL?

Для большинства операций — да. Исключение составляют запросы информации (query, diskFree) — они могут выполняться без повышенных прав, но на некоторых конфигурациях Windows всё равно требуют администратора.

Как узнать, какие подкоманды доступны в моей версии Windows?

Введите fsutil /? для списка всех подкоманд. Для получения справки по конкретной подкоманде: fsutil file /?. Набор подкоманд немного отличается между клиентскими и серверными версиями Windows.

Можно ли использовать FSUTIL на USB-накопителях?

Только если накопитель отформатирован в NTFS. На FAT32 и exFAT большинство подкоманд FSUTIL недоступны.

Как с помощью FSUTIL проверить, является ли файл разрежённым?

Используйте команду fsutil sparse queryflag путь_к_файлу. Если файл разрежённый, вывод подтвердит установленный флаг.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.