Поделиться через


Поиск и исправление проблем с местом на диске в томах NTFS

В этой статье описывается, как проверить выделение дискового пространства файловой системы NTFS для обнаружения некорректных файлов и папок или поиска повреждения тома на компьютерах на базе Microsoft Windows Server 2003.

Область применения: Windows Server 2003
Исходный номер базы знаний: 814594

Итоги

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

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

  • Размер кластера тома NTFS слишком велик для файлов среднего размера, хранящихся там.
  • Атрибуты файлов или разрешения NTFS не позволяют проводнику Windows или командной строке Windows отображать или получать доступ к файлам или папкам.
  • Путь к папке превышает 255 символов.
  • Папки или файлы содержат недопустимые или зарезервированные имена файлов.
  • Метафайлы NTFS (например, главная таблица файлов) выросли, и вы не можете удалить их.
  • Файлы или папки содержат альтернативные потоки данных.
  • Повреждение NTFS приводит к тому, что свободное пространство будет указано как используемое.
  • Другие функции NTFS могут привести к путанице в выделении файлов.

Следующие сведения помогут вам оптимизировать, восстановить или лучше понять, как тома NTFS используют место на диске.

Размер кластера слишком большой

Только файлы и папки, содержащие внутренние метафайлы NTFS, такие как master File Table (MFT), индексы папок и другие могут использовать место на диске. Эти файлы и папки используют все выделения пространства файлов с помощью нескольких кластеров. Кластер — это коллекция смежных секторов. Размер кластера определяется размером секции при форматировании тома.

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

Чтобы определить текущий размер кластера и статистику томов, выполните команду chkdsk только для чтения из командной строки. Для этого выполните следующие шаги:

  1. Нажмите кнопку Пуск, выберите команду Выполнить, введите cmdи нажмите кнопку ОК.

  2. В командной строке введите команду: chkdsk d:

    Где d: буква диска, которую требуется проверить.

  3. Нажмите кнопку ОК.

  4. Просмотрите полученные выходные данные. Например:

    4096543 общего места на диске базы знаний. <--- всего отформатированного объема дисков.
    2906360 КБ в файлах 19901 года. <--- пробел, используемый данными пользовательского файла.
    6344 КБ в 1301 индексах. <--- пробел, используемый индексами NTFS.
    0 КБ в плохих секторах. <--- пространство потеряло плохие секторы.
    49379 КБ, используемых системой. <--- включает MFT и другие метафайлы NTFS.
    22544 КБ, занятое файлом журнала. <--- файл журнала NTFS — (можно настроить с помощью chkdsk /L:size)
    1134460 КБ, доступных на диске. <--- доступное свободное место на диске

    4096 байт в каждой единице выделения. <--- размер кластера. (4K)
    1024135 общих единиц распределения на диске. <--- всего кластеров на диске.
    283615 единицы выделения, доступные на диске. <--- доступные бесплатные кластеры.

Примечание.

Умножьте каждое значение, которое выводит отчеты в килобайтах (КБ) на 1024, чтобы определить точное число байтов. Например, 2906360 x 1024 = 2 976 112 640 байт. Эти сведения можно использовать для определения используемого места на диске и размера кластера по умолчанию.

Чтобы определить, является ли это оптимальным размером кластера, необходимо определить свободное место на диске. Для этого выполните следующие шаги:

  1. Нажмите кнопку "Пуск", щелкните "Мой компьютер", а затем дважды щелкните букву диска (например, D) тома, чтобы открыть том и отобразить папки и файлы, содержащиеся в корневом каталоге.

  2. Щелкните любой файл или папку и выберите команду "Все" в меню "Изменить ".

  3. При выборе всех файлов и папок щелкните правой кнопкой мыши любой файл или папку, выберите пункт "Свойства" и перейдите на вкладку "Общие ".

    На вкладке "Общие " отображается общее количество файлов и папок во всем томе и предоставляется две статистики размера файла: SIZE и SIZE ON DISK.

Если вы не используете сжатие NTFS для файлов или папок, содержащихся в томе, разница между SIZE и SIZE ON DISK может представлять некоторое пустое место, так как размер кластера превышает необходимый размер. Возможно, потребуется использовать меньший размер кластера, чтобы значение SIZE ON DISK было максимально близко к значению SIZE. Большая разница между РАЗМЕРОМ НА ДИСКЕ и значением SIZE указывает, что размер кластера по умолчанию слишком велик для среднего размера файла, который хранится в томе.

Размер кластера можно изменить только путем переформатирования тома. Для этого создайте резервную копию тома, а затем отформатируйте том с помощью команды форматирования и /a переключателя, чтобы указать соответствующее выделение. Например: format D: /a:2048 (В этом примере используется размер кластера размером 2 КБ).

Примечание.

Кроме того, можно включить сжатие NTFS для восстановления места, потерянного из-за неправильного размера кластера. Однако это может привести к снижению производительности.

Атрибуты файлов или разрешения NTFS

В проводнике Windows и команде dir /a /s списка каталогов отображается общая статистика файлов и папок только для тех файлов и папок, к которым у вас есть разрешения на доступ. По умолчанию файлы скрытых файлов и защищенных файлов операционной системы исключаются. Это может привести к тому, что обозреватель Windows или команда dir отображают неточные данные файлов и папок и статистику размера.

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

  1. Нажмите кнопку "Пуск", щелкните "Мой компьютер" и дважды щелкните букву диска (например, D) тома. Откроется том и отображаются папки и файлы, содержащиеся в корневом каталоге.
  2. В меню "Сервис" выберите пункт "Параметры папки" и перейдите на вкладку "Вид".
  3. Установите флажок "Показать скрытые файлы и папки ", а затем снимите флажок " Скрыть защищенные файлы операционной системы".
  4. Нажмите кнопку "Да" , когда появится предупреждение, а затем нажмите кнопку "Применить ". Это изменение позволяет проводнику Windows и dir /a /s команде суммировать все файлы и папки, содержащиеся в томе, у пользователя есть разрешения на доступ.

Чтобы определить папки и файлы, к которым вы не можете получить доступ, выполните следующие действия.

  1. В командной строке создайте текстовый файл из выходных dir /a /s данных команды.

    Например: в командной строке введите следующую команду: dir d: /a /s >c:\d-dir.txt

  2. Запустите мастер резервного копирования или восстановления.

    1. Нажмите кнопку "Пуск", нажмите кнопку "Запустить", введите ntbackup и нажмите кнопку "ОК".
    2. Нажмите кнопку "Расширенный режим".
  3. Выберите пункт "Параметры " в меню "Сервис" , перейдите на вкладку "Журнал резервного копирования", нажмите кнопку "Подробный" и нажмите кнопку "ОК".

  4. В служебной программе резервного копирования щелкните вкладку "Резервное копирование", а затем установите флажок для всего затронутого тома (например, D:), а затем нажмите кнопку "Начать резервное копирование".

  5. После завершения резервного копирования откройте отчет резервного копирования и сравните папку для папки выходных данных журнала NTBackup с d-dir.txt выходными данными, сохраненными на шаге 1.

Так как резервное копирование может получить доступ ко всем файлам, его отчет может содержать папки и файлы, которые не отображаются в проводнике Windows и команде dir. Вы можете упростить использование интерфейса NTBackup для поиска тома без резервного копирования тома, если требуется искать большие файлы или папки, к которым невозможно получить доступ с помощью проводника Windows.

После поиска файлов, к которым у вас нет доступа, вы можете добавить или изменить разрешения с помощью вкладки "Безопасность " при просмотре свойств файла или папки в проводнике Windows. По умолчанию доступ к папке сведений о томах системы невозможен. Необходимо добавить правильные разрешения для включения папки в dir /a /s команду.

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

D:\folder_name\ недоступен

Доступ запрещен

Если у вас есть такие папки, обратитесь в службу поддержки продуктов Майкрософт для получения дополнительной помощи.

Недопустимое имя файла

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

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

Ошибка переименования файла или папки

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

Or

Ошибка при удалении файла или папки

Не удается удалить файл: не удается прочитать из исходного файла или диска.

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

Расширение основной таблицы файлов NTFS (MFT)

При создании и форматировании тома NTFS создаются метафайлы NTFS. Один из этих метафайлов называется главной таблицей файлов (MFT). Он мал при создании (примерно 16 КБ), но он растет по мере создания файлов и папок на томе. При создании файла он вводится в MFT в качестве сегмента записи файлов (FRS). FRS всегда составляет 1024 байта (1 КБ). По мере добавления файлов в том растет MFT. Однако при удалении файлов связанные FRS помечены как бесплатные для повторного использования, но общий объем FRS и связанное выделение MFT остается. Именно поэтому вы не восстанавливаете пространство, используемое MFT после удаления большого количества файлов.

Чтобы узнать, насколько большой MFT, можно использовать встроенный дефрагментатор для анализа тома. В результирующем отчете содержатся подробные сведения о размере и количестве фрагментов в MFT.

Например:

Фрагментация главной таблицы файлов (MFT)
Общий размер MFT = 26 203 КБ
Число записей MFT = 21 444
Процент MFT в использовании = 81 %
Всего фрагментов MFT = 4

Однако для получения дополнительных сведений о том, сколько пространства (накладных расходов) используется весь NTFS, выполните команду chkdsk.exe, а затем просмотрите выходные данные для следующей строки:

Используется системой.

В настоящее время только сторонние дефрагментаторы объединяют неиспользуемые записи FRS MFT и возвращают неиспользуемое выделенное пространство MFT.

Альтернативные потоки данных.

NTFS позволяет файлам и папкам содержать альтернативные потоки данных. С помощью этой функции можно связать несколько выделений данных с одним файлом или папкой. Использование альтернативных потоков данных в файлах и папках имеет следующие ограничения:

  • Обозреватель Windows и команда dir не сообщают данные в альтернативных потоках данных в рамках статистики размера файла или тома. Вместо этого они показывают только общее количество байтов для основного потока данных.
  • Выходные данные из chkdsk точно сообщают о пространстве, используемом пользователем файлами данных, включая альтернативные потоки данных.
  • Квоты дисков точно отслеживают и сообщают обо всех выделениях потока данных, которые являются частью файлов данных пользователя.
  • NTBackup записывает количество байтов, резервных копий в отчете журнала резервного копирования. Однако он не показывает, какие файлы содержат альтернативные потоки данных. Он также не показывает точные размеры файлов, которые включают данные в альтернативные потоки.

Повреждение файловой системы NTFS

В редких случаях метафайлы NTFS $MFT или $BITMAP могут быть повреждены и привести к потере места на диске. Эту проблему можно определить и устранить, выполнив chkdsk /f команду в томе. В конце chkdsk вы получите следующее сообщение, если необходимо настроить $BITMAP:Исправление ошибок в атрибуте BITMAP в главной таблице файлов (MFT). CHKDSK обнаружил свободное пространство, помеченное как выделенное в растровом рисунке тома. Windows внесла исправления в файловую систему.

Другие функции NTFS, которые могут привести к путанице в выделении файлов

NTFS также поддерживает жесткие ссылки и точки повторного анализа, позволяющие создавать точки подключения томов и соединения каталогов. Эти дополнительные функции NTFS могут привести к путанице при попытке определить, сколько места потребляет физический том.

Жесткая ссылка — это запись каталога для файла независимо от того, где находятся данные файла в этом томе. Каждый файл имеет по крайней мере одну жесткую ссылку. В томах NTFS каждый файл может иметь несколько жестких ссылок, поэтому один файл может отображаться во многих папках (или даже в одной папке с разными именами). Так как все ссылки ссылаются на один и тот же файл, программы могут открывать любую из ссылок и изменять файл. Файл удаляется из файловой системы только после удаления всех ссылок на него. После создания жесткой ссылки программы могут использовать его как любое другое имя файла.

Примечание.

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

Точки подключения томов и соединения каталогов позволяют пустой папке тома NTFS указывать на корневую или вложенную папку на другом томе. Обозреватель Windows и команда dir /s следуют точке повторного вывода, подсчитывают все файлы и папки в целевом томе, а затем включают их в статистику тома узла. Это может ввести в заблуждение, что больше места используется на томе узла, чем то, что на самом деле используется.

В сводке можно использовать выходные данные chkdsk, графический интерфейс NTBackup или журналы резервного копирования, а также просматривать квоты дисков, чтобы определить, как используется место на томе. Однако обозреватель Windows и команда dir имеют некоторые ограничения и недостатки при использовании для этой цели.