Прогулка По Агонии Или Долгая История Одной Попытки Восстановления Данных

Это был 2019 год. В нашу лабораторию поступил не совсем обычный для нашего времени накопитель QUANTUM FIREBALL Plus KA емкостью 9,1ГБ.

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

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

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

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

Прогулки не прошли бесследно, на оригинальной плате контроллера остались множественные следы пайки, а также визуально чувствовалось отсутствие SMD-элементов (забегая вперед, скажу, что это наименьшая из проблем данного накопителя).



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

1 жесткий диск Quantum Fireball Plus KA 9,1 ГБ Первым делом нам пришлось искать в донорском архиве столь древнего брата-близнеца этого накопителя с рабочей платой контроллера.

Когда этот квест был завершен, стало возможным проведение обширных диагностических мероприятий.

Проверив обмотки двигателя на короткое замыкание и убедившись в отсутствии короткого замыкания, устанавливаем плату с привода донора на привод пациента.

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



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

2 индикатора DRD DSC указывают на готовность к приему команд. Делаем резервные копии всех копий модулей прошивки.

Проверяем целостность модулей прошивки.

С чтением модулей проблем нет, но анализ отчетов показывает, что есть некоторые странности.



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

3. Таблица зон.

Обращаем внимание на таблицу зонального распределения и отмечаем, что количество цилиндров равно 13845.

Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

4 П-список (первичный список – список дефектов, возникших в ходе производственного цикла).

Обращаем внимание на слишком малое количество дефектов и их расположение.

Смотрим модуль журнала скрытия заводского дефекта (60h) и обнаруживаем, что он пуст и не содержит ни одной записи.

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

Чтобы проверить это предположение, мы создаем задачу в Data Extractor с включенными опциями «создать посекторную копию» и «создать виртуальный транслятор».



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

5 Параметры задачи.

Создав задачу, смотрим записи таблицы разделов в нулевом секторе (LBA 0)

Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

6 Основная загрузочная запись и таблица разделов.

По смещению 0x1BE находится одна запись (16 байт).

Тип файловой системы на разделе — NTFS, смещение начала секторов 0x3F (63), размер раздела 0x011309A3 (18 024 867) секторов.

В редакторе секторов откройте LBA 63.

Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

7 загрузочный сектор NTFS По информации в загрузочном секторе NTFS-раздела можно сказать следующее: размер сектора, принятый в томе, равен 512 байт (слово 0x0200(512) записано по смещению 0x0B), количество секторов в кластере равно 8 (байт 0x08 записан по смещению 0x0D), размер кластера 512x8=4096 байт, первая запись MFT расположена по смещению 6 291 519 секторов от начала диска (по смещению 0x30 четверное слово 0x00 00 00 00 00 0C 00 00 (786 432) номер первого MFT-кластера.

Номер сектора рассчитывается по формуле: Номер кластера * количество секторов в кластере + смещение к началу раздела 786 432* 8+63= 6 291 519).

Перейдем к сектору 6 291 519.

Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

8 Но данные, содержащиеся в этом секторе, совершенно отличаются от записи MFT. Хотя это указывает на возможный неверный перевод из-за неправильного списка дефектов, это не доказывает этот факт. Для дальнейшей проверки прочитаем диск по 10 000 секторов в обе стороны относительно 6 291 519 секторов.

А потом будем искать регулярные выражения в том, что читаем.



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

9 Первая запись MFT В секторе 6 291 551 находим первую запись MFT. Ее положение отличается от расчетного на 32 сектора, а затем непрерывно следует группа из 16 записей (от 0 до 15).

Внесем позицию сектора 6 291 519 в таблицу смен и продвинемся на 32 сектора вперед.

Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

10 Позиция записи №16 должна быть по смещению 12 551 431, но мы находим там вместо записи MFT нули.

Проведем аналогичный поиск в окрестностях.



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

11 Запись MFT 0x00000011 (17) Обнаружен большой фрагмент MFT, начиная с записи номер 17 длиной 53646 записей) со сдвигом на 17 секторов.

Для позиции 12 155 431 поместите в таблицу сдвигов сдвиг на +17 секторов.

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

Версию с неверным переводчиком можно считать подтвержденной.

Для дальнейшей локализации точек смещения зададим максимально возможное смещение.

Для этого определяем, насколько сдвинут маркер конца NTFS-раздела (копии загрузочного сектора).

На рисунке 7 по смещению 0x28 четверное слово представляет собой значение размера раздела, состоящее из 0x00 00 00 00 01 13 09 секторов A2 (18 024 866).

Прибавим смещение самого раздела от начала диска к его длине и получим смещение конца NTFS-маркера 18 024 866 + 63= 18 024 929. Как и ожидалось, необходимой копии загрузочного сектора не оказалось.

При обыске окружающей местности было обнаружено нарастающее смещение на +12 секторов относительно последнего фрагмента MFT.

Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

12 Копия загрузочного сектора NTFS Вторую копию загрузочного сектора по смещению 18 041 006 мы игнорируем, поскольку она не имеет отношения к нашему разделу.

По результатам предыдущих мероприятий установлено, что внутри раздела имеются включения 61 сектора, «всплывшего» в эфире, что расширило данные.

Выполняем полное чтение накопителя, в результате чего остается 34 непрочитанных сектора.

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



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

13 Статистика чтения диска.

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

Для этого мы просканируем все записи MFT и построим цепочки расположений файлов (фрагментов файлов).



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

14 Цепочки расположения файлов или их фрагментов.

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

И по мере уточнения точек переключения заполняем таблицу.

Результатом его заполнения будет более 99% файлов без повреждений.



Прогулка по агонии или долгая история одной попытки восстановления данных

Рис.

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

Но в данной задаче это было экономически нецелесообразно.

P.S. Я также хотел бы обратиться к моим коллегам, в чьих руках ранее находился этот диск.

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

Следующая публикация: Самодиагностика жестких дисков и восстановление данных Предыдущая публикация: экономия на спичках или восстановление данных с притертого HDD Seagate ST3000NC002-1DY166 Теги: #Системное администрирование #Резервное копирование #Хранение данных #HDD #Восстановление данных #восстановление #жесткий диск #данные #fireball #информация #Quantum #переводчик

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.