Восстановление данных
восстановление данных
Звоните нам в Москве: (495) 230−1000

Восстановление данных из chk-файлов

Бывало встаешь с утра, включаешь компьютер, всё идет своим чередом… И вдруг запускается ScanDisk. Ждём, пока он закончит работу, загружаемся до конца и видим, что части важных файлов нет :( Если никаких новых папок на своих дисках мы не увидели, не отчаиваемся, идем в «Мой компьютер – Сервис – Свойства папки – Вид» и ищем и ставим галку напротив «Показывать скрытые папки и файлы». Да, для сохранения дополнительной защиты ОС, не забудьте после завершения всех манипуляций вернуть это свойство в исходное состояние. Затем снова смотрим на содержимое наших дисков и что же мы видим? Появились какие-то непонятные папки FOUND.000, FOUND.001 и т.д., а в них файлы file0001.chk, file0002.chk… Что случилось?

Когда при некорректном выключении компьютера, сбое в работе файловой системы или по каким-то другим причинам Windows «думает» что могла нарушиться целостность файловой системы, она запускает ScanDisk. Эта программа отличается от софта для восстановления данных тем, что при обнаружении ошибок в файловой системе, просто исправляет их, а данные, которые не знает куда деть, рассовывает по chk-файлам. В процессе такой работы, уничтожаются «следы», которые могли бы быть использованы для прямого восстановления данных. Таким образом получается, что после того, как по разделу прошелся ScanDisk, вероятность успешного использования специального софта (восстановление данных программой R.saver, например) стремится к нулю, остаётся ковыряться в .chk-файлах, в надежде восстановить данные оттуда. Итак…

Утилита ScanDisk имеет множество параметров: scandisk.exe [drive: [drive: ...]|/all] [/checkonly | /autofix [/nosave] | /custom] [/surface] [/mono] [/nosummary]

Собственно целью данной статьи не является изучение параметров ScanDisk, поэтому рассматривать их все я не буду, а лишь покажу в каком случае мы получим наши заветные chk-файлы и что с ними впоследствии делать. Команда с:\> scandisk.exe проверит целостность файловой системы на текущем диске с:\ и позволит исправить обнаруженные ошибки.

При указании параметра /autofix, обнаруженные ошибки исправляются автоматически без предварительного запроса на разрешение. Параметр /nosave разрешает утилите ScanDisk удалять информацию, расположенную в потерянных областях (кластерах) диска. Если параметр /nosave не указан, информация из потерянных областей сохраняется в корневых каталогах соответствующих дисков в файлах FILEnnnn.chk, где "nnnn" – порядковый номер файла. В итоге на диске появляются такие файлы, как file0001.chk, file0002.chk и т.д.

По-умолчанию Windows вызывает Scandisk с параметром /autofix, поэтому мы и получаем эти файлы, которые содержат информацию, расположенную в потерянных областях (кластерах) диска.

Думаю теперь понятно, почему появляются эти злосчастные chk-файлы. Будем разбираться, что же с ними делать. Как уже было сказано, chk-файлы содержат информацию, расположенную в потерянных областях диска. Говоря простым языком – частично там могут находится те данные, которые вы не обнаружили после загрузки. Как же выполнить восстановление данных? Как получить безвозвратно утерянную коллекцию фотографий игрушечных покемонов из папье-маше или годами собиравшуюся коллекцию «Блатного тайваньского шансона»? :)

Итак, у нас в наличии папки с файлами file0001.chk, file0002.chk и т.д. Для дальнейших действий нам пока понадобится лишь текстовый редактор и определенные знания. Начнем с определения. Сигнатура файла – это константа, некий постоянный набор символов, позволяющий однозначно идентифицировать, какого типа данные содержатся в данном файле. Опять же, изъясняясь проще – это фрагмент кода в файле, по которому однозначно можно понять, что это за файл, какой программой он создан и другую информацию.

К примеру, exe-файл всегда начинается с символов «MZ», Rar-архив имеет в своём коде «Rar!» и т.д. Понимаете к чему я клоню? Правильно, посмотрев файл и изучив его сигнатуру, можно понять, что это за файл. Опять же, невозможно запомнить все сигнатуры, потому что не все так просто, как кажется на первый взгляд (например сигнатура файла формата png выглядит так «0x89504E470D0A1A0A» и запомнить ее явно проблематично, если Вы не Джонни Мнемоник, конечно!). Правда сигнатура – не единственное средство.

Ручная сортировка

Перейдем теперь непосредственно к практике. Берем первый попавшийся chk-файл, открываем его через текстовый редактор и смотрим на его содержимое. Кроме как нечто вроде «сћэк%Э ‘Ґcrm­-Ъ7€‡P 9 NЮёЫѓЋ}y=3» на протяжении всего файла не часто увидишь, поэтому беглый осмотр нам редко когда чего даст. Первым делом пытаемся увидеть знакомые сигнатуры. Увидели что-то знакомое? Отлично! Закрываем редактор, заменяем расширение файла с chk на то, которое мы узнали и радуемся результату, прыгаем на месте, хлопаем в ладоши! :)

Если повезло, файл корректно откроется соответствующей программой. Но это самый простой и удачный случай. Теперь же вернемся чуть назад. Знакомую сигнатуру мы не нашли. Что же делать дальше? Дальше начинаем методично, вручную просматривать содержимое файла и пытаемся почерпнуть оттуда полезную информацию. Что я понимаю под полезной? Ну, например, если мы нашли куски текста, то большая вероятность, что это файл Word или Excel, если что-то вроде «KONICA MINOLTA DIGITAL CAMERA», то, очевидно, это ваши фотографии либо видео с того же фотоаппарата с расширением mov (наиболее распространенное на данный момент, хотя многие уже пишут напрямую в avi) ну и т.д.

Имея на руках данную информацию мы можем отсортировать все chk-файлы по известным нам типам. Так же, имеет смысл обращать внимание на объем chk-файлов. Если файл занимает порядка 680-740 мегабайт, то скорее всего это фильм и можно просто подобрать нужное расширение (avi, mpeg и т.д.). Я вижу уже улыбку, расплывающуюся у тебя на лице от удовольствия и ощущения, что ты легко вернешь все файлы, но, к сожалению, это не так. Очень часто chk-файлы могут содержать не все, а лишь часть данных исходного файла. Например, после смены расширения chk-файла мы получаем битый doc или кусок картинки. В этих случаях, для получения удовлетворительных результатов, может потребоваться использование специализированных программам, предназначенных для восстановления данных из повреждённых файлов конкретных типов.

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

Автоматическая сортировка

Вот, в принципе, и всё, целый один chk-файл мы опознали и вернули на место. Но ведь это только один файл, а их может быть порядка тысячи и более… Что же, просматривать все файлы вручную? Правильно! Конечно же нет… :) Благодарим Михаила Маврицина, который написал, с моей точки зрения, наиболее толковую из бесплатных программ для автоматической сортировки .chk. Итак, приветствуем нашего помощника – CHKParser32.


Image


После запуска программы перед нами предстает окно, показанное выше. Как можно видеть, функционально всё достаточно удобно, видно количество известных сигнатур, количество chk-файлов в сканируемой директории и, по окончании процесса, количество распознанных. Во время тестирования все файлы, которые я попытался «скормить» программе были успешно «проглочены» и распознаны. Программа работает очень быстро. Так же к плюсам можно отнести легкость расширения списка сигнатур. Для этого нужно лишь добавить строчку в ini-файл, идущий в комплекте с программой.

Я, например, при тестировании, в течении 5 минут изучил сигнатуры файлов типа mov и уже при следующем этапе тестирования программа легко их находила и распознавала. Если же хочется более подробно изучить работу программы, то милости прошу к её описанию. Как видно, потратив 2 минуты на работу с программой, мы экономим кучу времени, которое потратили бы на ручную сортировку. Однако не советую про нее забывать. Если все-таки программа не смогла распознать какие-то chk-файлы, рекомендую вручную их посмотреть, а не удалять, вдруг чего интересного разыщите! :)


Андрей Зельников, специально для rlab.ru.


Перепечатка или цитирование разрешены при условии указания ссылки вида Восстановление данных R.LAB на первоисточник.






jagger28.08.2007
1. Возможно ли хотя бы теоретически как то восстановить имена файлов и/или структуру папок?

2. Как отключить этот злосчастный скандиск?
registerers26.12.2010
1) Нет.
2) Зависит от версии ОС. Скорее всего, через реестр, точнее не знаю. Посмотрите в яндексе, я думаю найдёте много советов на эту тему.
locale26.12.2010
интересует такой вопрос- а можно ли как нибудь направить вывод chkdsk в папку?
а то как-то при сканировании одной флешки писалось что chk файлов на 5гб(на флешке 1гб) и процесс исправления ошибок останавливался.
JetCat07.01.2011
Ответ на вопрос лучше поискать в  доке к Чекдиску, т.к. мы не сталкивались никогда с такой задачей.
Fader08.01.2011
Большое спасибо, Андрей Smiley Очень хорошая статья, которая помогла мне!
VerenaP03.10.2011
От лица Андрея скажу вам пожалуйста! Wink
Андрею благодарность передам! Wink
Fader03.10.2011


 
Последние статьи
Ремонт флешек своими силами
03.04.2013 г.
Файловая система ReFS изнутри
16.03.2012 г.
Использование Live CD или Live USB для восстановления данных
23.10.2011 г.
Популярные статьи
NTLDR Is Missing
1092165 просмотров
Простое восстановление данных
738213 просмотров
Программный ремонт USB flash в Linux
245082 просмотров
Восстановление RAID массивов простыми методами
237645 просмотров
Восстановление данных с DVD и CD дисков
231359 просмотров
Яндекс.Метрика
Восстановление данных - R.LAB
Москва, Костянский переулок, д. 13  (схема проезда). Телефон: +7 (495) 230−1000; e-mail: 
Другие города »