Смекни!
smekni.com

Восстановление данных с флеш-носителей (стр. 7 из 8)

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

· Туре (Тип) — тип файловой системы или раздела; отображается в виде шестнадцатеричного кода;

· Boot (Загрузка) — признак загрузочного раздела; для загрузочного активного раздела, как вы знаете, должно быть указано значение 80;

Starting(Начальное положение) — адрес первого сектора раздела, заданный номером цилиндра (Cyl), головки (Head) и сектора (Sector);

Ending(Конечное положение) — адрес последнего сектора раздела, также заданный номером цилиндра, головки и сектора;

SectorsBefore(Предшествует секторов) — количество секторов жесткого диска, предшествующих первому сектору раздела в соответствии с адресацией LBA(то есть при «сквозной» нумерации по головкам и цилиндрам);

Sectors(Секторов) — размер раздела, измеренный в секторах.

Рис. 19.Стартовоеокноутилиты Partition Table Editor

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

1. Переместите курсор в строку, соответствующую расширенному разделу (его код равен OFh).

2. Щелкните на кнопке GotoEPBR(Перейти на EPBR), расположенной под таблицей.

Если вы знаете, что восстанавливаемый NTFS-раздел находится на прежнем месте, но в соответствующей ему строке указан неверный тип раздела, вы можете попробовать установить корректное значение принудительно. Для этого щелкните на кнопке Set Туре (установить тип) и в открывшемся окне выберите требуемое значение (рис. 7.19). Для раздела NTFS оно равно 07h. Если вам известны корректные значения других параметров раздела и они отличаются от представленных в таблице, вы можете (предварительно запомнив или записав на бумаге текущие значения) ввести их в поля таблицы. Чтобы внесенные изменения были записаны на диск, щелкните на кнопке SaveChange(Сохранить изменения)

Рис. 20.Список типов раздела

Если восстанавливаемый раздел опознается как пустой, можно попробовать создать на его месте новый, такого же типа, как у восстанавливаемого раздела, и обязательно точно такого же размера. Для выполнения этой процедуры можно использовать либо ParagonPartitionManager, либо NortonPartitionMagic.

Восстановление служебной информации в MFT

Таблица MFT представляет собой метафайл с именем $MFT, в котором хранятся записи с атрибутами других метафайлов и записи с атрибутами файлов пользователя. Для разделов объемом в несколько гигабайт и при большом количестве файлов данных размеры MFT могут достигать десятков мегабайт. При этом граница MFT может изменяться динамически в зависимости от объема записанных на диск данных и наличия свободного пространства. Кроме того, каждый файл в NTFS может иметь собственный набор атрибутов, некоторые из них задаются самим пользователем.

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

Поиск таблицы MFT

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

Для перехода по номеру кластера выполните следующие действия.

1. Откройте первый (загрузочный) сектор диска.

2. В разделе Абсолютный сектор, в поле Наберите выражение для оценки введите формулу для вычисления номера первого сектора MFT: <N кластера>*<SectorsperCluster>, где <N кластера> — это шестнадцатеричное значение номера первого кластера MFT, a<SectorsperCluster> — это размер кластера, записанный в поле SectorsperCluster(например: 40000х 8, рис. 21)

3.Нажмите клавишу Enter. Характерные признаки «исправной» MFT:

· каждая запись начинается со слова FILE0, размещенного в первых пяти байтах сектора;

· для большинства записей метафайлов в байтах со смещением F2h хранится имя метафайла, которое всегда начинается с символа $;

· первая запись описывает сам метафайл $MFT.

Рис. 21.Поиск первого сектора MFT с помощью утилиты Просмотр секторов

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

Таблица 2.Последовательность размещения записей метафайлов в файле $MFT[13]

Далее в файле $MFTследуют записи с информацией обо всех остальных файлах и каталогах.

В том случае, если поле ClusterstoMFTзагрузочного сектора повреждено или переход по номеру кластера привел «неизвестно куда», можно попробовать доверить поиск MFT самой утилите Просмотр секторов.

Для этого щелкните на кнопке Перейти и в открывшемся меню (рис. 22) выберите команду NTFS ► MFT. Обратите внимание, что здесь же указан номер сектора (относительно начала раздела), с которого начинается MFT.

Рис. 22. Поиск таблицы MFT с помощью утилиты Просмотр секторов

Если и этот прием не даст результата, остается последний выход: вернуться к работе с программой NortonDiskEditor и попытаться найти таблицу MFT с помощью полнотекстового поиска по разделу. В качестве ключа поиска можно использовать имя метафайла — $MFT. Однако при этом следует учитывать, что имена файлов в NTFS представлены в двухбайтовой кодировке UNICODE, aNortonDiskEditor работает с однобайтовым кодом ASCII. Если основная таблица MFT повреждена, следует проверить состояние ее копии. Напомним, что в NTFS не предусмотрено создание полной копии MFT. Сокращенная копия, MFTMirror, содержит лишь первые четыре записи из основной таблицы, относящиеся к метафайлам $MFT, $MFTMirr, $LogFileи $Volume. Напомним также, что копия MFT в версии NTFS для Windows ХР всегда расположена в середине раздела. Поэтому если в загрузочной записи адрес ее начала отсутствует, несложно его вычислить исходя из числа секторов раздела. Можно также попробовать перейти к сектору с копией MFT с помощью утилиты Просмотр секторов, воспользовавшись командой NTFS ► MFT зеркальный из меню Перейти.

Если копия уцелела, необходимо отыскать ее последний сектор и затем перенести содержимое «зеркала» в соответствующие секторы, отведенные под основную MFT.

С помощью утилиты Просмотр секторов эта операция выполняется таким же образом, как и перенос копии загрузочного сектора.

Размер и структура записи таблицы MFT

С учетом сказанного выше большое значение имеет правильное определение размера записи таблицы MFT. Его значение хранится в поле ClustersperFRSзагрузочного сектора. Многие дисковые утилиты, в том числе PTEdit, отображают это значение как десятичное целое положительное число в диапазоне 0-255 (обычно равное 246, см. рис. 7.20). В действительности это значение следует рассматривать как шестнадцатеричное целое со знаком, в котором старший разряд отводится для представления знака. Если число положительно (то есть в десятичном представлении меньше 128), то оно означает количество кластеров, занимаемых одной записью таблицы MFT. Если же число отрицательное (больше десятичного 127), то для определения размера записи MFT нужно использовать следующую формулу:

FRS = 2(256-Clusters-Per-FRS)(1)

Здесь FRS— количество байтов, занимаемых записью MFT, aClusters_Per_FRS — значение поля ClustersperFRS.

Например, если в поле ClustersperFRSпредставлено значение 246 (то есть шестнадцатеричное F6), то в приведенной выше формуле показатель степени 2 будет равен 10, а для FRSполучим значение 1024, то есть размер записи MFT составляет 1 Кбайт. Аналогично значение поля ClustersperFRS, равное 245 (F5h), соответствует размеру записи MFT, равному 211 = 2048 байт, или 2 Кбайт.

Запись MFT содержит список областей переменной длины, каждая из которых соответствует одному из атрибутов файла. Размер этого списка и состав хранящихся в нем атрибутов для каждого файла может быть своим. Если все атрибуты файла или каталога не помещаются в базовой записи, создается одна или несколько дополнительных записей. При этом базовая запись содержит атрибут, в котором перечислены все атрибуты данного файла и каталога, а также указание, в каких именно записях (базовой или дополнительных) хранятся те или иные атрибуты. Каждая запись MFT состоит из заголовка фиксированного формата, вслед за которым идет список атрибутов переменной длины. Приступая к исследованию записи MFT, сначала нужно проанализировать ее заголовок. Формат заголовка записи MFT представлен в табл. 3.

Таблица 3.Формат заголовка записи MFT[13]

Заключение

Цели, поставленные в дипломном проекте, выполнены. Была рассмотрена история создания флеш-памяти, её применение, проблемы, приводящие к затруднению или прекращению доступа к хранящимся на ней данных. Была дана классификация различных типов повреждений, приводящих к недоступности данных, и средства борьбы с ними. В заключительной части диплома было рассмотрено использование утилит R-Strudio и EasyRecovery для восстановления информации в автоматическом режиме, и использование дисковых редакторов Disk Editor из пакета Acronis Disk Director, Norton Disk Editor и Paragon Partition Manager, а также утилита Partition Table Editior, входящией в состав пакета Norton PartitionMagic.