И все-таки я его восстановил...

Быстростертый CDRW с данными - еще не трагедия


Итак, это не гон. Стертый в режиме Quick Erase перезаписываемый диск поддается восстановлению достаточно успешно. Две недели экспериментов дали очень неплохой результат, и теперь я знаю, как это делается :) Ну-с, приступим. Прежде всего, нам понадобятся (в порядке применения) вот эти программы :

  • Nero Burning Rom
  • DiscDump, или подобный ему имиджмейкер
  • WinHex
  • Easy Recovery Pro v6.0
  • WinRar
  • Advanced ZIP Repair
  • Office Recovery
  • Multi Pipper

Одна из особенностей операционной системы Windows (для удобства можно условиться считать это правилом) такова - стертый диск считается пустым. И какими бы универсально-восстановительными ни были программы, выше головы они прыгнуть не в состоянии - драйвер, используемый операционкой, они обойти не могут. Следовательно, перед началом непосредственно восстановления, нам необходимо сделать диск "видимым" для используемых программ. А значит правило следует как-то обойти... или обмануть. Кстати, большое спасибо qza за совет :). Мы знаем, что на стертом диске практически все данные в целости и сохранности, уничтожена лишь TOC - таблица оглавления. А это значит, что восстановив ее, не стирая остальное содержимое диска, мы доберемся до области данных. Проще всего это сделать, записав на диск фейковое оглавление.

Берем наш быстростертый диск, закладываем в трей и запускаем Nero. Я уверен, что практически у каждого имеется на жестком диске хотя бы один фильм в формате Mpeg4... :) Подготавливаем проект записи нового диска, в качестве "содержимого" проекта указываем тот самый фильм, размером 600-700 мегабайт. Настройки Nero обычные, основные условия - режимы No Multisession и DAO. Первое, думаю, понятно почему, а о втором чуть позже. Далее просто жмем кнопку Write, и почти сразу же - Cancel. Происходит именно то, что нам нужно - запись не прерывается тут же, но записывается только Lead In - начальная метка диска, упрощенно говоря, и TOC - оглавление. Далее запись остановится.

Преимущество режима DAO в том, что перед записью данных сначала пишется Lead In, а в режиме TAO практически сразу начинается запись трека, а Lead In и Lead Out записываются в конце. Таким образом, а TAO существует опасность затереть данные.

Ну вот, самого главного мы достигли - теперь диск у нас виден. Осталось полдела - самое интересное, нудное и кропотливое - вытащить из диска нужные файлы и поменять их на денежку клиента :) Для этого (я имею в виду вытаскивание файлов, а не денежку клиента) воспользуемся утилиткой - снимем образ диска в файл. Можно, конечно, работать напрямую с диском, но с имиджем это получится быстрее как минимум на порядок. Утилита должна уметь корректно обрабатывать ошибки чтения диска, поскольку TOC не соответствует содержимому. Я использовал DiskDump, ее можно взять у меня на страничке, вот здесь.

Имидж готов, можно приступать к извлечению файлов. Для этого лучше всего, на мой взгляд, подходит программа WinHex, ее легко найти на одноименном сайте www.winhex.com. Одной из замечательных функций этой программы является поиск файлов по сигнатуре, и последующее сохранение найденных файлов с указанным размером. Открываем в WinHex созданный образ, заходим в Tools -> Disk Tools -> File Recovery by Type и выбираем нужный нам тип файла, который собираемся восстанавливать. Устанавливаем размеры файла, затем размеры сектора и кластера (должно быть 2048 и 16, но...) и жмем Ок.

...И вот тут я столкнулся с некоей странностью. В зависимости от размера кластера, файлов обнаруживалось разное количество... Впрочем, это объяснимо, но непонятно другое - используя опцию File Recovery by Type сигнатур обнаруживалось гораздо меньше, чем следовало ожидать, при любых значениях размеров сектора/кластера. Если же применить Search -> Find Hex Values, загнав в строку поиска ту же самую сигнатуру, последних обнаружится именно столько, сколько файлов с этой сигнатурой имеется на диске, то бишь в его образе, который мы ковыряем.

Ну а далее начинается само веселье - поиск всех сигнатур (читай: заголовков) файлов в Find Hex Values, сохранение их в Position Manager и затем выдергивание их вручную поблочно. Зная начальный адрес места, где расположен файл, идем туда и отмечаем блок мегабайт пять, или больше, в общем - с запасом. Сохраняем этот блок, идем к следующему. И так далее... Долго? Нудно? А никто и не обещал, что все будет автоматически :) Да и наловчиться можно довольно быстро. Впрочем, если кто-то разберется с непонятностью в WinHex относительно поиска файлов by Type и сообщит мне - буду весьма признателен.

Представим себе, что все заготовки файлов у нас выдернуты и аккуратно сложены в некий каталог Recovery. Далее вступают дело две последние программы из вышеприведенного списка. Easy Recovery Pro 6.0 способен извлечь из заготовок большинство известных файлов. RAR-архивами займется непосредственно сам архиватор WinRAR. Вот, собственно, и вся технология извлечения файлов с быстростертого CDRW.


2008 © Computer repair