Восстановление данных на 100% - Петр Ташков 12 стр.


При отсутствии подходящего стабилизатора на 3,3 В, например LM317, можно заменить его двумя последовательно включенными диодами (рис. 4.8). Падение напряжения в прямом направлении на одном диоде составляет примерно 0,8–0,9 В, поэтому после двух таких диодов от 5 В останется 3,2–3,4 В – напряжение, необходимое для питания контроллера и микросхемы памяти. Полярность включения диодов удается определить, рассмотрев ход дорожек печатной платы. При миниатюрных диодах и достаточной аккуратности можно полноценно отремонтировать накопитель (рис. 4.9). У такой замены есть еще один плюс: flash-диск с таким стабилизатором не сгорит, даже если на него будет подано питание в обратной полярности. Диоды не пропустят ток в обратном направлении.

Рис. 4.8. Замена стабилизатора двумя диодами

Рис. 4.9. Диоды установлены на плату

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

Неисправность контроллера

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

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

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

Для ремонта понадобится паяльный фен и маска для защиты элементов, окружающих выпаиваемую микросхему. Цена паяльной станции начинается от $120. Если пользователь самостоятельно не может выполнить такие манипуляции, то следует обратиться в любую мастерскую по ремонту сотовых телефонов, специалисты которой владеют техникой пайки микросхем.

Чтобы снять дамп (dump) с выпаянной микросхемы памяти, необходим программатор, поддерживающий данный тип микросхем. Во flash-дисках в основном используются микросхемы в корпусах 48-pin TSOP1 Standard Type, 48-pin NAND Flash TSOP1, USOP и WSOP. Выбор программаторов велик: это либо устройства, подключаемые к портам COM, либо USB, реже – платы PCI с выносной колодкой.

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

В качестве примера будет рассмотрен отечественный комплекс Flash Recovery Tool v.1.0, предлагаемый компанией BVG Group (http://www.bvg-group.ru). Он состоит из внешнего блока с панелью для переходников под разные типы микросхем и самих переходников (рис. 4.10). Светодиодные индикаторы показывают текущий режим работы: подачу питания на блок и микросхему, чтение и запись.

Рис. 4.10. Комплекс FRT

Внешний блок подключается кабелем IDE к плате контроллера комплекса HRT. Этот комплекс предназначен для восстановления жестких дисков и похож на рассмотренный ранее комплекс PC-3000.

Программная часть комплекса – одноименная программа с четырьмя основными функциями. Каждая из них реализована на отдельной вкладке главного окна программы Flash Recovery Tool.

• Raw Flash – вкладка для работы с образом на уровне микросхемы памяти.

• Glued Flash – вкладка редактирования образа микросхемы. В ней можно вырезать ненужные области данных, а также склеивать в единый блок (Glue) несколько образов, считанных с разных микросхем.

• User Data – вкладка для извлечения из образа пользовательских данных.

• Operations with chip – вкладка для работы с программатором, чтение/запись микросхем памяти.

Данная программа является интеллектуальным HEX-редактором, ориентированным на работу с данными, хранящимися на flash-носителях. Она способна автоматически, исходя из идентификатора, определять модель чипа, вставленного в программатор. Параметры считывания микросхем (размеры страниц и блоков, команды считывания) задаются в ini-файле. При необходимости можно добавлять в этот файл секции для новых микросхем: все параметры берутся из документации производителя чипа.

После считывания блоков и сохранения их в файл дампа начинается работа по извлечению полезной информации из этого файла. Если во flash-диске стояла пара микросхем памяти и с каждой был снят свой дамп, предварительно эти два файла «склеиваются» в один. При этом возможны разные варианты: стыковка «конец в конец», чередование байтов, страниц или блоков, с инверсией байтов или без нее. Одновременно отрезаются служебные области, не несущие пользовательскую информацию.

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

Разумеется, это предельно схематичное описание процесса восстановления данных с выпаянной микросхемы flash-памяти – подробные инструкции прилагаются к комплексу и выложены на сайте производителя. Цена полного комплекта FRT составляет около $1000.

Неисправности микросхемы памяти

Микросхема flash-памяти рано или поздно выходит из строя. Если вследствие деградации часть ячеек flash-памяти стала неисправна, проявления сбоев зависят от того, что в этих ячейках записано.

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

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

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

Восстановление данных, потерянных из-за логических неисправностей

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

Программа FlashNul

FlashNul – очень маленькая консольная программа для проверки работоспособности и обслуживания носителей на flash-памяти: USB-Flash, IDE-Flash, SecureDigital, MMC, MemoryStick, SmartMedia, XD, CompactFlash и т. д. Все тесты выполняются на уровне абстракции блочных устройств и точно так же применимы другим типам носителей (гибким дискам, винчестерам или компакт-дискам). В программу заложены шесть основных функций.

• Тест чтения – проверка доступности каждого сектора носителя подобно программам проверки жестких дисков.

• Тест записи – проверка возможности записи каждого сектора носителя.

• Тест сохранности записанной информации – проверка соответствия записанной и прочитанной информации, аналогичная работе утилит для проверки оперативной памяти наподобие memtest, но уже в отношении flash-накопителей.

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

• Сохранение образа содержимого устройства – посекторное сохранение содержимого носителя в файл полностью или частично.

• Загрузка образа в устройство – посекторная запись образа в устройство.

Из этих функций для восстановления данных нужна лишь одна – сохранение образа. Но после сохранения образа и успешного извлечения из него полезной информации полезно провести глубокое тестирование накопителя и понять, в чем же крылась причина проблемы. Для этого рассматриваемая утилита, невзирая на аскетичный интерфейс, подходит как нельзя лучше. Изначально программа создавалась для программного ремонта накопителей с поврежденными файловыми системами (гарантированного обнуления блоков), откуда и пошло ее название. Остальные функции постепенно добавлялись в очередных версиях утилиты. Программа бесплатна и распространяется вместе с исходными текстами по лицензии GNU. Официальная страница разработчика – http://shounen.ru/soft/flashnul.

Рассмотрим применение программы Flashnul.

1. Запустите окно интерпретатора командной строки: Пуск → Выполнить → cmd.

2. Из командной строки запустите программу flashnul.exe. Ее можно запускать и непосредственно из диалога Выполнить, но удобнее делать это именно из окна командного интерпретатора. Запускаемая без параметров или с параметром – h программа выводит на экран краткую справку. Файл подробной справки с примерами находится в архиве с дистрибутивом программы. Для работы программу следует запускать под учетной записью администратора или от его имени.

3. Для показа списка доступных устройств введите в командной строке flashnul – p и нажмите клавишу Enter. На экране появится список логических и физических дисков (рис. 4.11).

Рис. 4.11. Показ списка доступных устройств

Чтобы ограничить список только физическими или только логическими дисками, используйте одно из двух значений параметра – p:

• flashnul – p=1 – показ только физических дисков;

• flashnul – p=2 – показ только логических дисков.

Если в ответ на выполнение команды напротив диска показывается значение (-not avaible-), устройство в системе есть, но доступ к нему невозможен. Например, это может быть кард-ридер, в котором нет карты памяти. Если подобное сообщение выводится для подключенного flash-диска, это признак неисправности устройства.

Для выполнения операций с диском в командной строке следует указать диск и параметр самой операции. Указать диск можно двумя способами:

• по номеру физического диска в списке физических устройств, например flashnul 2 или flashnul 0;

• по букве логического диска, например flashnul a:, flashnul d:, flashnul E:

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

4. Введите в командной строке команду flashnul с номером или буквой диска в качестве аргумента и нажмите клавишу Enter. Появятся сведения о диске (рис. 4.12).

Рис. 4.12. Сведения о диске

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

Некоторые значения других параметров.

Delta to near power or 2 – разница между истинным объемом и ближайшей степенью числа 2. Значение порядка 1–2 % от объема диска нормально. Величины больше 10 % (то есть 12 Мбайт для 128 Мбайт, 100 Мбайт для 1 Гбайт) свидетельствуют об уменьшении емкости накопителя обычно в результате отключения контроллером поврежденных блоков. Для жестких дисков эта строка не имеет смысла.

Surplus size – разница между фактическим размером устройства и размером в CHS-адресации.

Removable device – физически сменное или несменное устройство.

Command Queue – поддержка очереди команд (NCQ, TCQ и т. д.).

Device Vendor – производитель устройства. В этой строке приводится название устройства, сообщаемое его микропрограммой.

Device Name – название устройства. Также получается от микропрограммы.

Revision – версия (ревизия) устройства.

Device serial – декодированный серийный номер устройства (во многих устройствах может отсутствовать).

Device hotplug – возможна ли «горячая» замена устройства. Для большинства flash-дисков USB это так, однако, если в настройках устройства включено кэширование записи, устройство считается не поддерживающим отключение на ходу.

Media hotplug – поддерживает ли носитель в устройстве «горячее» отключение. Это актуально для карт памяти в кард-ридерах. Для flash-дисков USB обычно указывается No, так как отключается не носитель информации, а все устройство целиком.

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

– После параметра – S следует имя файла образа, в котором должна быть сохранена информация.

– Дополнительный параметр – r (-range) задает диапазон адресов (байтов) исходного носителя, из которых должно проводиться чтение. Может принимать одно или два значения, разделенных точкой с запятой (начало – конец). Каждое из этих значений – байты от начала устройства. Значения должны быть кратными размеру сектора, а максимальное значение ограничено двумя гигабайтами (2 147 483 647 байтов).

– Чтобы программа игнорировала сбойные или недоступные блоки на накопителе, с которого проводится чтение, применяется параметр – i (-ignore). Он необходим, если в микросхеме flash-памяти присутствуют дефектные блоки.

Примеры использования команды:

flashnul f: -S C:\backup.bin

Сохранить образ диска F: в файл C:\backup.bin.

flashnul 1 -S C:\image.img -r=0;16384 -i

Скопировать первые 16 384 байта с устройства 1 и вывести их в файл C: \image. img, игнорируя ошибки чтения.

В ходе сохранения образа содержимое устройства не меняется, операция безопасна. Существует ряд ограничений на работу с файлами образов:

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

• при первой же ошибке ввода/вывода с файлом образа, вне зависимости от параметра -i (–ignore), выполнение операции будет прервано.

Введите команду с описанными параметрами. Вновь появятся подробные сведения о носителе, а образ диска будет сохранен в файл по указанному пути (рис. 4.13).

Рис. 4.13. Сохранение данных в файл образа

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

Обработка образа диска

Из сохраненного образа данные извлекаются точно так же, как и из образа жесткого диска, – любой из программ, способных работать с файлами образов носителей. Подробно эта процедура была рассмотрена во второй главе книги. Для программ R-Studio или Easy Recovery абсолютно не важно, с образом какого носителя они работают, так как обработка ведется на уровне блоков.

Эти программы способны самостоятельно создавать образы почти любого носителя, хотя иногда могут возникать сбои на физически дефектных блоках. Именно поэтому для снятия побайтного образа диска или карты памяти консольная утилита Flashnul нередко оказывается предпочтительнее. Помимо мощных и универсальных средств, о которых уже шла речь в предыдущих главах, существует множество небольших, простых в использовании программ, предназначенных для неподготовленного пользователя. Во многих случаях «тяжелая артиллерия» не нужна – для восстановления случайно удаленных файлов или чтения носителя с логическими ошибками, например после некорректного его извлечения из фотоаппарата, оказывается достаточно таких простых программ. Далее будут рассмотрены несколько приложений, которые созданы специально для извлечения с flash-носителей утерянных данных.

Программа F-Recovery for CompactFlash

Компания File Recovery Tools (http://www.filerecoverytools.com) выпускает целую линейку утилит для восстановления данных с flash-карт. В настоящее время в нее входит семь продуктов, каждый из которых нацелен на один из типов карт:

Назад Дальше