По одной записи на файл — нравится вам или нет
$MFT — это скрытый системный файл NTFS: база данных с одной записью (обычно один килобайт) на каждый файл и папку тома. В записи лежат имя, отметки времени, дескриптор безопасности и указатели на кластеры данных; запись — это паспорт файла в системном индексе. Вы не видите $MFT в Проводнике, потому что сам Проводник читает её, чтобы показать вам всё остальное.
С мелкими файлами всё интереснее: всё, что меньше примерно 700 байт, помещается целиком внутри собственной записи и не занимает кластеров данных вовсе. Это эффективно — пока том не накопит миллионы крошечных файлов и сама MFT не разрастётся до гигабайт. Деревья node_modules, кеши браузерных профилей и почтовые базы — классические надуватели MFT.
Зона MFT: место, зарезервированное под рост
NTFS не растит MFT где попало — она держит непрерывный резерв, зону MFT, чтобы таблица оставалась единым куском, а чтение метаданных быстрым. Размер зоны — это настройка политики, которую показывает команда fsutil behavior query mftzone, и её значение по умолчанию удивляет людей. Вот что всё это значит для вашего свободного места.
- Резерв по умолчанию — примерно восьмая часть тома: 12,5 процента, отложенных, чтобы MFT росла без фрагментации
- Зона — это политика, а не занятое место: в Проводнике она не отображается как использованное
- Когда обычное свободное место подходит к концу, NTFS отдаёт части зоны под обычные файлы
- Сам файл $MFT — реальное занятое место, не принадлежащее ни одному видимому файлу: на томах с миллионами файлов это гигабайты
- Увеличить зону (fsutil behavior set mftzone от 2 до 4) — значит повлиять только на будущий рост; нужно это томам под огромные коллекции мелких файлов
Распухшая MFT не худеет до переформатирования
Удаление файлов освобождает записи под повторное использование, но никогда не сжимает $MFT — таблица навсегда остаётся на достигнутом максимуме. Диск, на котором однажды жили миллионы временных файлов, сохранит толстую MFT и после идеальной чистки, и сбросить её может только форматирование. Подробный запуск chkdsk печатает размер MFT, количество записей и её фрагментацию — если хотите увидеть масштаб.
На HDD фрагментированная MFT реально тормозит работу с метаданными — открытие больших папок, поиск, антивирусные проверки, — потому и существует расписание «Оптимизации дисков». На SSD штраф за поиск исчезает и расположение MFT почти не играет роли — там Windows переключает тот же инструмент на TRIM. Практическое решение — профилактика: держите проекты из миллионов мелких файлов на отдельном томе, который можно форматировать без церемоний.
Вопросы и ответы
Что за файл $MFT на моём диске?
Это главная база данных NTFS: по одной записи на файл — имена, отметки времени, расположение данных. Она растёт от количества файлов, а не от их размеров, и считается занятым местом, не принадлежа ни одной открываемой папке.
Можно ли удалить файл $MFT, чтобы освободить место?
Нет. Это индекс всех файлов тома; его удаление или повреждение делает данные нечитаемыми. Windows прячет его именно потому, что выиграть нечего, а потерять можно всё.
Понятно до покупки: что входит в лицензию
Разовый 30-минутный триал даёт доступ к базовым инструментам. Возможности с меткой PRO остаются закрыты до активации платной лицензии.
Читайте также
Написать нам: [email protected]