Почему файлы не перемещаются в некоторые области томов ntfs

Обновлено: 21.11.2024

Таблица 5-1 описывает загрузочный сектор тома, отформатированного в NTFS. При форматировании тома NTFS программа форматирования выделяет первые 16 секторов для файла метаданных $Boot. Первый сектор, по сути, является загрузочным сектором с «загрузочным» кодом, а следующие 15 секторов — это IPL (начальный загрузчик программ) загрузочного сектора. Для повышения надежности файловой системы самый последний сектор раздела NTFS содержит запасную копию загрузочного сектора.

Загрузочный сектор NTFS

Смещение в байтах Длина поля Имя поля
0x00 3 байта Инструкция перехода
0x03 LONGLONG Идентификатор OEM
0x0B 25 байт BPB
0x24 48 байт Расширенный BPB
0x54 426 байт Код начальной загрузки
0x01FE WORD Маркер конца сектора

В томах NTFS поля данных, следующие за BPB, образуют расширенный BPB. Данные в этих полях позволяют Ntldr (программе-загрузчику NT) находить основную таблицу файлов (MFT) во время запуска. На томах NTFS MFT не находится в предварительно определенном секторе, как на томах FAT16 и FAT32. По этой причине MFT можно перемещать, если на его обычном месте есть поврежденный сектор. Однако, если данные повреждены, MFT невозможно найти, и Windows NT/2000 предполагает, что том не был отформатирован.

В следующем примере показан загрузочный сектор тома NTFS, отформатированный под управлением Windows 2000. Распечатка состоит из трех разделов:

  • Байты 0x00–0x0A — это инструкция перехода и идентификатор OEM (выделен жирным шрифтом).
  • Байты 0x0B-0x53 — это BPB и расширенный BPB.
  • Остальной код — это загрузочный код и маркер конца сектора (выделен жирным шрифтом).

В следующей таблице описаны поля в BPB и расширенном BPB для томов NTFS. Поля, начинающиеся с 0x0B, 0x0D, 0x15, 0x18, 0x1A и 0x1C, соответствуют полям томов FAT16 и FAT32. Образцы значений соответствуют данным в этом примере.

< tr> < tr> < td style="text-align:center">DWORD
Смещение в байтах Длина поля Пример значения Имя поля
0x0B WORD 0x0002 Байт на сектор
0x0D BYTE 0x08 Секторов на кластер
0x0E WORD 0x0000 Зарезервированные сектора
0x10 3 БАЙТА 0x000000 всегда 0
0x13 WORD 0x0000 не используется NTFS
0x15 BYTE< /td> 0xF8 Дескриптор мультимедиа
0x16 WORD 0x0000 всегда 0
0x18 WORD 0x3F00 Секторов на дорожку
0x1A WORD 0xFF00 Количество головок
0x1C DWORD 0x3F000000< /td> Скрытые сектора
0x20 DWORD< /td> 0x00000000 не используется NTFS
0x24 DWORD 0x80008000 не используется NTFS
0x28 LONGLONG 0x4AF57F0000000000 Всего секторов
0x30 LONGLONG 0x04000 00000000000 Номер логического кластера для файла $MFT
0x38 LONGLONG 0x54FF070000000000 Номер логического кластера для файла $MFTMirr
0x40 DWORD 0xF6000000 Кластеров на сегмент записи файла
0x44 BYTE 0x01 Кластеров на индекс Буфер
0x45 3 БАЙТА 0x000000 не используется NTFS
0x48 LONGLONG 0x14A51B74C91B741C Серийный номер тома
0x50 0x00000000 Контрольная сумма

Защита загрузочного сектора

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

О нас

LSoft Technologies Inc. — частная североамериканская компания-разработчик программного обеспечения. Наша цель — создавать лучшие в мире решения для восстановления данных, безопасности и резервного копирования, обеспечивая высочайшую производительность, инновации и непревзойденное обслуживание клиентов.

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

Применимо к: Windows Server 2003
Исходный номер базы знаний: 814594

Обзор

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

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

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

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

Размер кластера слишком велик

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

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

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

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

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

Где d: буква диска, который вы хотите проверить.

Нажмите "ОК".

Просмотрите результат. Например:

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

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

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

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

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

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

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

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

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

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

Нажмите «Параметры» в меню «Инструменты», перейдите на вкладку «Журнал резервного копирования», нажмите «Подробно» и нажмите «ОК».

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

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

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

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

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

D:\имя_папки\ недоступен

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

Если у вас есть такие папки, обратитесь за дополнительной помощью в службу поддержки продуктов Microsoft.

Недопустимые имена файлов

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

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

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

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

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

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

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

Расширение главной таблицы файлов 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, а затем просмотрите вывод для следующей строки:

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

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

Последствия копирования файлов При копировании файлов или папок из одной папки в другую или из одного раздела и файлов в другой раздел разрешения для файлов или папок могут измениться.

Копирование файла или папки влияет на разрешения NTFS следующим образом:

■ При копировании папки или файла в один раздел NTFS копия папки или файла наследует разрешения папки назначения.

■ При копировании папки или файла в другой раздел NTFS копия папки или файла наследует разрешения папки назначения.

■ При копировании папки или файла в раздел, отличный от NTFS, например в раздел FAT, копия папки или файла теряет свои разрешения NTFS, поскольку разделы, отличные от NTFS, не поддерживают разрешения NTFS.

Последствия перемещения файлов Для копирования файлов и папок в пределах одного раздела NTFS или между разделами NTFS и fo|dere необходимо иметь разрешение на чтение для исходной папки и разрешение на запись для папки назначения.

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

■ При перемещении папки или файла в разделе NTFS папка или файл сохраняют исходные разрешения.

■ При перемещении папки или файла в другой раздел NTFS эта папка или файл наследует разрешения папки назначения. Когда вы перемещаете папку или файл между разделами, Windows Server 2003 копирует папку или файл в новое место, а затем удаляет его из старого места.

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

Эффекты копирования и перемещения внутри томов

Чтобы перемещать файлы и папки в пределах раздела NTFS или между разделами NTFS, необходимо иметь разрешение на запись для папки назначения и разрешение на изменение исходной папки или файла. Разрешение на изменение требуется для перемещения папки или файла, поскольку Windows Server 2003 удаляет папку или файл из исходной папки после копирования в папку назначения.

В следующей таблице перечислены возможные параметры копирования и перемещения и описано, как Windows Server 2003 обрабатывает состояние сжатия файла или папки.

Копировать файл или папку внутри тома Перемещать файл или папку внутри тома Копировать файл или папку между томами Перемещать файл или папку между томами

Перемещение файлов с диска на диск или с компьютера на компьютер — обычная задача как в офисной среде, так и на ПК для отдыха. Пользователям Windows, которые регулярно передают большие файлы (особенно многогигабайтные файлы), не привыкать к сообщению об ошибке, которое гласит: «не удается прочитать исходный файл или диск». Это сообщение может появляться по трем разным причинам. Наиболее распространенная причина — несовпадение файловых систем на разных дисках или устройствах. Другие распространенные причины этой ошибки включают поврежденные сектора диска и проблемы с правами доступа к файлам. В этой статье обсуждается, как устранить ошибки «не удается прочитать из исходного файла или с диска», чтобы обеспечить бесперебойную передачу файлов.

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

Несоответствие файловых систем — наиболее удобный сценарий для диагностики, но и самый сложный для исправления. Если вы используете Windows 8 или Windows 10, скорее всего, ваша файловая система — NTFS. Если вы используете Windows 7, это может быть FAT32 или NTFS.

NTFS полностью отличается от FAT32 и может легко обрабатывать файлы большего размера. FAT32 — старая файловая система. Если диск, с которого выполняется перенос, имеет файловую систему FAT32, максимальный размер файла, который он может обрабатывать, составляет 4 ГБ. Если файл, который вы перемещаете, даже близок к этому размеру, это может вызвать проблемы.

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

Если вы видите это, найдите программу, которая разбивает файл на более мелкие фрагменты, и повторите попытку. Вы можете поискать в Google «разветвитель файлов» и найти множество разветвителей, или вы можете просто использовать GSplit, который является на 100% бесплатным и полнофункциональным приложением. В любом случае установите программу, разделите файл на диске, переместите его, как предполагалось изначально, а затем перестройте его.

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

Плохие сектора — это просто программные ошибки, из-за которых ваш компьютер не может прочитать часть данных в этом секторе. Они могут быть вызваны фактическим физическим повреждением, но это менее распространено.

Чтобы проверить наличие поврежденных секторов:

Инструмент проверки диска является автономным и сообщит вам, если он найдет поврежденные сектора, и сможет их восстановить в большинстве случаев. Однако этот процесс может повредить файл, который вы пытаетесь переместить. Так что имейте в виду это, прежде чем делать это.

При желании вы также можете запустить проверку диска из командной строки.

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

Иногда Windows путается с правами доступа к файлам и не может их отпустить. Это также может произойти, если вам кто-то отправил файл, а Windows не передает вам право собственности на этот файл. Это может привести к ошибкам «не удается прочитать исходный файл или диск».

Однако это легко исправить.

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

Читайте также: