Логическая структура информации, прежде всего, связана с файлами и файловой системой. Файлом называют законченную, непрерывную, именованную последовательность байтов, представляемую операционной системе компьютера. На носителе файл существует как некоторый набор кластеров с данными. Информация о том, какие кластеры составляют этот файл, является содержанием файловой системы. Физически информация о структуре данных записана там же, где и сами данные, и говорить о «физическом» или «логическом» повреждении информации на носителе можно лишь условно. Если потери затронули кластеры, где находится содержимое файла (область данных), мы обычно говорим о «физическом» дефекте; если же они коснулись области, где были записаны сведения о структуре, дефект представляется нам «логическим».
Следует учитывать, что и на носителе, и в файле всегда присутствует некая «полезная» уникальная информация – она-то и представляет главную ценность. Другая же часть информации является «служебной», то есть несет в себе структуру данных. При повреждении этой части обратиться к устройству хранения стандартными средствами операционной системы невозможно, но с помощью специальных программ удается сделать его побайтную или поблочную копию – так называемые сырые данные (Raw data).
Случаи потери информации и принципы восстановления
Отдельные главы книги посвящены восстановлению информации с различных типов носителей. В каждой главе, кроме первой, будут рассмотрены сходные ситуации. От причин и места потери данных зависит тактика их восстановления.
Тем не менее при восстановлении есть один главный принцип. Для успешного восстановления данных нужно, прежде всего, максимально полно и бережно скопировать содержимое проблемного носителя «как есть» на какой-либо другой носитель. Поскольку мы почти никогда не знаем заранее, что послужило причиной потерь, безопаснее работать с такой копией, ведь любые лишние операции с проблемным носителем могут увеличить степень его повреждения.
• Потери данных на физическом уровне возникают, когда повреждаются сами элементы, хранящие информацию, а избыточность записи не может покрыть такую потерю. Примерами служат разрушение магнитного слоя пластин винчестера, царапины на отражающем слое лазерного диска или деградация ячеек flash-накопителя. Это самый серьезный случай: восстановление данных в принципе невозможно. Если затронуты элементы, на которых хранилась содержательная часть данных, то о них придется забыть. Если повреждены служебные данные, в некоторых случаях можно извлечь оставшуюся «полезную» часть, а затем попробовать воссоздать ее структуру.
• Примером аппаратных проблем, приводящих к недоступности данных, могут служить неисправности контроллеров, головок или механики жесткого диска, царапины на прозрачной стороне лазерного диска. При этом сама информация обычно не затронута, нужно лишь обеспечить доступ к ней. Восстановление начинается с устранения аппаратной проблемы.
• Нарушения логической структуры при полной аппаратной сохранности носителя могут возникнуть в результате некорректного изменения служебной информации. Как правило, это вина пользователя, программных ошибок или действий вредоносных программ. Причиной могут послужить и аппаратные сбои, например перепады напряжения в момент записи такой информации, «небезопасное» извлечение flash-диска во время обращения к нему. Восстановление сводится к извлечению сырых данных и воссозданию их структуры.
Частным случаем является корректное, но опрометчивое удаление файлов и папок либо форматирование дисков. Фактически при удалении файла сначала только модифицируются записи в файловой системе, а сами данные остаются на диске до тех пор, пока на их место не будут записаны новые. Успех восстановления зависит, прежде всего, от того, производилась ли запись новых данных, «затерших» удаленные, или нет.
• Повреждение информации внутри файла. Файл формально цел, но не может быть открыт предназначенной для этого программой: выдается сообщение об ошибке. Это может быть следствием любой из названных выше причин. С разбора именно такой ситуации начинается книга.
Средства, необходимые для восстановления, зависят от характера и причины потери данных. В простейшем случае это специализированные программы, работающие в среде MS-DOS или Windows, – такие средства доступны каждому, кто хочет попробовать свои силы в восстановлении информации. Аппаратно-программные комплексы включают в себя электронные схемы, подменяющие или дополняющие штатную электронику носителей информации, и программное обеспечение. Как правило, такие комплексы достаточно дороги, что и ограничивает их применение любителями. Ремонт гермоблоков жестких дисков связан с выполнением очень тонких манипуляций и требует серьезных практических навыков, специального инструмента и «чистой комнаты». Это, а также потребность в запасных частях для ремонта делают выполнение подобной работы возможным и рентабельным лишь в специализированных сервисных центрах. Тем не менее в книге будут рассмотрены некоторые моменты таких манипуляций с винчестерами.
Глава 1
Восстановление поврежденных файлов
• Структура файлов в программе Hexplorer
• Понятие формата файла
• Восстановление файлов собственными средствами прикладных программ
• Программы для восстановления файлов
• Полезные ссылки
• Резюме
В этой главе речь пойдет о восстановлении так называемых битых файлов. Файл может быть поврежден при его некорректном сохранении, особенно если вы пытались открыть, а затем сохранить файл, созданный кем-то в более новой версии прикладной программы. Такие файлы можно извлечь с поврежденного носителя. И хотя скопировать их удастся, при попытке открыть «спасенный» файл вы увидите сообщение об ошибке. После восстановления данных со случайно отформатированного диска среди найденных файлов наверняка окажется немало битых. Наконец, подобные файлы найдутся в результате анализа данных, сохраненных операционной системой при проверке и автоматическом исправлении ошибок жесткого диска, – такие файлы имеют расширение CHK.
Считается, что файл – именованная конечная и непрерывная последовательность байтов, несущая некую информацию. Для наших целей (восстановления данных) этого достаточно. В тех файлах, которые приходится восстанавливать на практике, такая последовательность обычно кодирует вполне осмысленную и завершенную информацию, например текст документа или растр (множество точек) изображения.
Напомним, что 1 байт = 8 бит, то есть каждый байт может принимать значения от 0 до 28 = 256 в десятичной (dec) или 28 = FF в шестнадцатеричной (hex) форме записи. Существуют программы, которые позволяют просматривать и изменять содержимое любого файла как простой последовательности байт. Логично называть их байтовыми или двоичными (бинарными) редакторами. Поскольку такие программы обычно показывают значения байтов в шестнадцатеричном виде, за ними закрепилось название «HEX-редакторы».
Если открыть файл в любом HEX-редакторе, мы увидим такое представление его содержимого. О применении HEX-редакторов для восстановления содержимого файла будет сказано в конце главы, они помогут понять структуру файла и то, в чем заключается суть ее повреждений.
Структура файлов в программе Hexplorer
Программа ICY Hexplorer – простой, но достаточно функциональный бесплатный редактор двоичных данных. Дистрибутив ее доступен на сайте разработчиков http://hexplorer.sourceforge.net.
Рабочая область окна разделена по вертикали. После открытия файла в левой части рабочей области отображается содержимое файла по байтам в виде их шестнадцатеричных значений (рис. 1.1). В правой части окна те же самые байты интерпретируются как ASCII-значения текстовых символов.