Заметки о восстановлении данных на жестких дисках

  35790931     

Логические разрушения


Когда винчестеры с NTFS на борту бороздят дисковое пространство, говорить об остальных файловых системах (типа FAT16/32 или HPFS) становится просто не этично (о покойниках плохо не говорят– HPFS давно труп, а FAT, хоть и не труп, но уже дышит на ладан). Поэтому, сосредоточим свое внимание исключительно на NTFS. Это очень надежна система и "уронить" ее можно только вместе со всем системным блоком, а для уничтожения данных потребуется тротил или нитроглицерин. Однако, абсолютной защиты не существует и катастрофы различной степени тяжести все-таки случаются…

В отличии от FAT, анатомия NTFS недокументированна, а это значит, что восстанавливать служебные структуры данных придется вслепую, опираясь на информацию, полученную из независимых хакерских источников, как-то исходных текстов NTFS-драйверов, выдернутых из LINUX, дизассемблерных листингов NTFS-утилит от Марка Руссиновича и т. д. Но все эти способы ненадежны и NTFS-драйвера от сторонних производителей плохо совместимы с новыми операционными системами, в особенности с их локализованными версиями. К сожалению, никакой альтернативы не существует.

Для восстановления винчестера, содержащего один или несколько NTFS-разделов, подключите его "вторым" к компьютеру, на котором уже установлена Windows NT/2000/XP, на которой установлено все необходимое программное обеспечение. Так же вам потребуется и консолью восстановления. Чтобы до нее добраться вставьте дистрибутивный диск в CD-привод и сделайте вид, что хотите установить операционную систему, но на определенном этапе установки, когда инсталлятор спросит "чего тебе надобно, старче", нажмите <R> выбирая Recovery Console.

Консоль восстановления представляет собой разновидность командного shell'а с кучей полезных утилит на борту и выглядит приблизительно также, как и старый добрый command.com. По умолчанию, вы имеете доступ только к папкам WINNT и Program Files, а чтобы скопировать данные из других папок (при условии, что файловая система еще цела) необходимо заблаговременно в "Локальных параметрах безопасности" (папка Администрирование в Панели Управления) найти пункт "Консоль восстановления: разрешить копирование дискет и доступ ко всем папкам" и перевести рубильник во включенное состояние. Как вариант можно, не покидая консоль восстановления, отдать команду "SET AllowAllPaths = true" для разблокирования доступа ко всем каталогам и "SET AllowRemovableMedia = true" для снятия запрета копирования файлов на гибкий диск.


Непосредственно из консоли восстановления можно запустить chkdsk логический диск. Ключ "/p" означает более глубокую проверку с внесением всех изменений, а ключ /r – поиск и восстановление дефективных секторов. Пользоваться chkdsk'ом категорически не рекомендуется, но… если никакой других идей у вас нет, на худой конец сойдет и он.

Если ни один логический диск недоступен (команда "С:" выдает ошибку, а chkdsk говорит, что такого тома просто нет), скорее всего повреждена таблица разделов (partition table), находящаяся в главном загрузочном секторе (Master Boot Record

или сокращенно MBR). Ее восстановлением занимаются десятки утилит (например, Media RECORVER http://www.mediarecover.com/advanced-file-recovery.html), но при желании эту операцию можно осуществить и самостоятельно (см. врезку "техника восстановления MBR-сектора"). Консоль восстановления поддерживает команду FIXMBR физический диск (физический диск задается в формате \Device\HardDiskN, где N – номер винчестера, считая от нуля), которая, если верить названию, должна лечить MBR, но на самом деле она всего лишь записывает туда системный загрузчик, оставляя таблицу разделов в том состоянии в котором она была. Восстановление системного загрузчика требуется в тех случаях, когда BIOS не может обнаружить загрузочный диск, выдавая сообщение "not-system disk" или что-то в этом роде. Соответственно, команда FIXBOOT (без параметров), "лечит" основной загрузочный раздел, а точнее записывает в его начало стандартный boot-загрузчик. Воспользуйтесь ей, если операционная система не загружается, а на экране появляется надпись наподобие "missing operation system".

Если корневой каталог не отображается или содержит бессвязный мусор, то случилось самое страшное, что только могло произойти – навернулась главная файловая таблица (Master File Table или сокращенно MFT), описывающая размещение файлов на диске. Вообще говоря такое случается крайне редко. Благодаря поддержке механизма транзакций, Windows автоматически выполняет откат, если операция обновления файловой системы завершилось неуспешно. Однако, когда NTFS-драйвер едет крышей (например, из-за конфликтов с другими драйверами или нарушения целостности кэш-буфера), транзакции уже не спасают и дисковая структура гробится. Первые 4 записи таблицы MFT хранятся в специальном резервном файле, на который указывает поле "Cluster to MFT mirr" и могут быть элементарно восстановлены. А как быть со всеми остальными? Ведь при современных-то объемах жестких дисках и астрономических количествах файлов, число записей в MFT оказывается намного больше 4х! Увы! Искаженные записи утеряны безвозвратно и их уже не вернуть! Если диск не был обработан "врачевателями" типа chkdsk или NDD, что расшифровывается как Norton Dist Destroyer, то шансы на ручное восстановление информации достаточно велики, однако, даже поверхностное изложение методик восстановление требует сотен страниц убористого текста к концу которых читатель начинает откровенно скучать. Единственная утилита, которой я доверяю – это Crash Undo 2000, вытягивающая максимум информации, который только можно вытащить из уцелевших осколков и практически не уступающая ручному восстановлению. Однако, никаких гарантий, что после лечения диску не сделается еще хуже у вас нет. Не очень-то утешительное заключение, но зато откровенное.



Рисунок 4 Media RECORVER за работой


Содержание раздела