Неправильные ссылки в кластере потерянной цепочки исправлены

Неправильные ссылки в кластере потерянной цепочки исправлены

Потерянные кластеры – это наиболее распространенная ошибка файловой системы, при которой кластеры в FAT помечаются как используемые, хотя на самом деле таковыми не являются. То есть в таблице FAT есть цепочка кластеров, но при этом ни в одном из каталогов на диске нет ни одного дескриптора файла, который указывал бы на начало этой цепочки.

Такая ситуация может возникнуть при «зависании» программы или при пропадании питания во время операции записи файла (Именно поэтому система предлагает проверить диск с FAT после «неправильного» выключения компьютера). Система производит запись информации в область данных (в кластеры файла) и в элементы FAT, но не успевает поместить в каталог соответствующий дескриптор файла. Это происходит из-за того, что запись каталога для файла является последней частью операции записи файла, потому, что каталог содержит размер файла, a Windows не может знать его до тех пор, пока не закончит запись файла.

Сервисная утилита, входящая в состав Windows сканирует FAT, ищет потерянные кластеры и создает в корневом каталоге дескриптор файла, указывающий начало цепочки. Кроме встроенной утилиты существует большое количество утилит внешних производителей для решения проблем с дисками.

Иерархическая (древовидная) структура каталогов

Разберемся, как устроена древовидная структура каталогов, каким именно образом в каталоге хранятся ссылки на каталоги следующего уровня (дочерние каталоги) и как любой дочерний каталог хранит ссылку на родительский. Ссылки обоих типов являются дескрипторами.

Про организацию дочерних каталогов мы уже упоминали, такой каталог имеет в родительском каталоге дескриптор (как обычных файл). От дескриптора файла дескриптор каталога отличается только установленным атрибутом D (4-й бит в байте атрибутов — DIRECTORY).

Теперь разберемся, каким образом дочерний каталог «знает» о родительском. В любом каталоге, кроме корневого, два первых дескриптора имеют специальное назначение. Первый дескриптор содержит в поле имени строку «.». Этот дескриптор указывает на содержащий его каталог, то есть каталог имеет ссылку сам на себя. Второй специальный дескриптор имеет имя «..». Этот дескриптор указывает на каталог более высокого уровня (родительский).

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

Не нашли то, что искали? Воспользуйтесь поиском:

Nav view search

Навигация

Искать

Потерянные кластеры и программа chkdsk.

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

Внешне несогласованность двух структур выглядит как появление так называемых потерянных кластеров . Битовая карта сообщает, что кластер или целая их группа заняты, но таблица файлов умалчивает, какому файлу эти фрагменты принадлежат. Очевидно, файл «пропал», хотя фактически на диске он есть. К счастью, в таком состоянии он может существовать сколь угодно долго — битовая карта «не пустит».

Читайте также:  Roborock не подключается к wi fi

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

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

С ошибками обоего рода достаточно успешно справляется стандартная программа chkdsk . Автоматически она запускается при загрузке системы, если на томе обнаружен «грязный бит». В другое время вы можете запустить ее из командной строки (с правами администратора) либо через графический интерфейс — кнопкой Выполнить проверку на вкладке Сервис диалогового окна свойств диска.

Без параметров в командной строке или со снятыми флажками в диалоговом окне запуска программа chkdsk только проверяет целостность ФС и выводит отчет, но изменений на диск не вносит. Если же запустить ее с параметром /f или в диалоговом окне проверки установить флажок Автоматически исправлять системные ошибки , программа будет исправлять обнаруженные ошибки.

Когда для файловой записи не найдены соответствия в битовой карте, программа chkdsk вносит коррективы в последнюю. Занятые файлом кластеры обозначаются как занятые — ошибка исправлена наилучшим образом.

При обнаружении потерянных кластеров программа преобразует каждую из их непрерывных цепочек в отдельный файл. Для этого она создает новые записи в таблице файлов. Файлы с порядковыми номерами и расширением chk помещаются в корень проверяемого тома.

Если цепочка содержала весь файл (файл не был фрагментирован), все отлично. Вы можете открыть CHKфайл с помощью двоичного редактора, по сигнатуре или характерным последовательностям определить его истинный формат. Переименуйте файл и присвойте ему «правильное» расширение.

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

«Склеить» фрагменты проще всего с помощью того же HEX-редактора. Критерий правильности сборки — то, что файл успешно откроется в ассоциированной с ним программе.

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

Читайте также:  Как расширить поисковую строку в яндексе

Потерянные кластеры – это наиболее распространенная ошибка файловой системы, при которой кластеры в FAT помечаются как используемые, хотя на самом деле таковыми не являются. То есть в таблице FAT есть цепочка кластеров, но при этом ни в одном из каталогов на диске нет ни одного дескриптора файла, который указывал бы на начало этой цепочки.

Такая ситуация может возникнуть при «зависании» программы или при пропадании питания во время операции записи файла (Именно поэтому система предлагает проверить диск с FAT после «неправильного» выключения компьютера). Система производит запись информации в область данных (в кластеры файла) и в элементы FAT, но не успевает поместить в каталог соответствующий дескриптор файла. Это происходит из-за того, что запись каталога для файла является последней частью операции записи файла, потому, что каталог содержит размер файла, a Windows не может знать его до тех пор, пока не закончит запись файла.

Сервисная утилита, входящая в состав Windows сканирует FAT, ищет потерянные кластеры и создает в корневом каталоге дескриптор файла, указывающий начало цепочки. Кроме встроенной утилиты существует большое количество утилит внешних производителей для решения проблем с дисками.

Иерархическая (древовидная) структура каталогов

Разберемся, как устроена древовидная структура каталогов, каким именно образом в каталоге хранятся ссылки на каталоги следующего уровня (дочерние каталоги) и как любой дочерний каталог хранит ссылку на родительский. Ссылки обоих типов являются дескрипторами.

Про организацию дочерних каталогов мы уже упоминали, такой каталог имеет в родительском каталоге дескриптор (как обычных файл). От дескриптора файла дескриптор каталога отличается только установленным атрибутом D (4-й бит в байте атрибутов — DIRECTORY).

Теперь разберемся, каким образом дочерний каталог «знает» о родительском. В любом каталоге, кроме корневого, два первых дескриптора имеют специальное назначение. Первый дескриптор содержит в поле имени строку «.». Этот дескриптор указывает на содержащий его каталог, то есть каталог имеет ссылку сам на себя. Второй специальный дескриптор имеет имя «..». Этот дескриптор указывает на каталог более высокого уровня (родительский).

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

Длинные имена

Первые версии файловой системы FAT позволяли хранить только короткие имена файлов в стандарте «восемь-точка-три» (8.3). Это объясняется тем, что в дескрипторе файла для имени файла выделяется 8 байт, а для расширения 3 байта. Начиная с Windows 95 была введена поддержка длинных имен файлов. В улучшенной файловой системе файлу или каталогу можно присваивать имя длиной до 255 символов. В длинных именах файлов можно использовать пробелы, а также символы + ,; = [], которые нельзя было использовать в стандартных именах файлов. Разберемся, как устроены длинные имена в файловой системе FAT.

Читайте также:  Как сделать хрипы при прослушивании

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

1". Если же существует еще одно имя, состоящее из тех же шести символов, то этот номер увеличивается на единицу. Расширение файла сохраняется прежним. Если в имени встречается символ, не допустимый в предыдущих версиях операционной системы, он заменяется на знак «подчеркивание» (_). Кириллица переводится в верхний регистр (только заглавные буквы).

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

Длинные имена Короткие имена

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

Остается еще одна проблема: как хранить 255 символов имени файла в 32 байтах дескриптора файла, ведь каждый символ имени файла — это один байт? Модифицировать структуру записи каталога нельзя, поскольку тогда предыдущие версии операционных систем не смогут использовать ее. Разработчики файловой системы решили эту проблему следующим образом: были добавлены дополнительные записи каталога для хранения длинных имен файлов. Чтобы предыдущие версии операционных систем не «замечали» этих дополнительных записей каталога, система устанавливает для них атрибуты, которые нельзя использовать для обычного файла (значение байта атрибутов 0Fh: только для чтения, скрытый, системный и метка тома). Поскольку значения атрибутов противоречивы (не бывает защищенных от записи, скрытых и системных меток тома), дескрипторы с такими атрибутами система игнорирует, и, следовательно, длинные имена файлов остаются «нетронутыми».

Для конкретного файла или каталога непосредственно перед его единственным дескриптором с его именем в формате 8.3 находится группа из одной или нескольких записей (дескрипторов с «неправильными» атрибутами), представляющих длинное имя (до 255 символов). Каждая такая запись содержит часть длинного имени файла не более 13 символов, и операционная система составляет полное длинное имя из всех записей.

Ссылка на основную публикацию
Не открываются параметры блютуз
Беспроводное соединение по протоколу Bluetooth по-прежнему широко используется для подключения к компьютеру множества разновидностей беспроводных устройств – от гарнитур до...
Настройка роутера мегафон mr150 2
4G (LTE)/Wi-Fi компактный мобильный роутер МегаФон MR150-2 - это комплект, включающий в себя роутер MR150-2, USIM-карту, специальный тарифный план "МегаФон-Онлайн...
Научиться пользоваться смартфоном с нуля видео
Большинство из нас чувствует себя неуверенно, когда приходится знакомиться с новой операционной системой. И несмотря на то, что Андроид сегодня...
Не работает звук в варфейс
Мы собираем всевозможные проблемы с игрой и способы их устранения. Данный материал будет пополняться. Проблема: »You were kicked suspected of...
Adblock detector