21.02.2006
Разрушение данных – самое страшное, что только может случиться с компьютером. Как известно, беда никогда не предупреждает о своем приходе, по закону подлости наступая именно в тот момент, когда к встрече с ней мы наименее готовы.
Современные операционные системы класса Windows NT и жесткие диски с технологией S.M.A.R.T поддерживают целый комплекс защитных мер по предотвращению непреднамеренной порчи данных. Слово "непреднамеренной" здесь ключевое. Главный виновник большинства разрушений – сам пользователь. Это он создает рассадник вирусов на компьютере, это он бездумно устанавливает кривой софт откровенно левых производителей, это он манипулирует настройками, в которых ничего не понимает.
Разгребая обломки… Если винчестер издает странные звуки, операционная система не загружается или на одном или нескольких логических дисках образовалась каша, лучше немедленно отключить компьютер и передать его в руки профессионалов. Пытаясь "отремонтировать" его самостоятельно, ты идешь на огромный и ничем не оправданный риск, особенно если восстановление данных осуществляется не вручную, а доверяется различным автоматизированным утилитам. С другой стороны, многие "специалисты" используют те же самые утилиты, поэтому отдавать винчестер им на растерзание, по меньшей мере, неразумно. К потерянным данным добавятся еще и потерянные деньги. Жители крупных городов (Москвы, Ростова, Киева) практически всегда могут найти фирмы, специализирующиеся на восстановлении данных, например такие, как EPOC или DATA Recovery. В глубинке же дела обстоят значительно хуже. Массового рынка восстановления нет, а, следовательно, нет и фирм, выбравших восстановление данных основным направлением своей деятельности.
Впрочем, "дотянуться" до патриархов отечественного восстановления можно и через интернет. Технологий удаленного восстановления две. В первом случае по электронной почте пострадавшему сбрасывают утилиту, формирующую загрузочную дискету с автономным терминалом. Загружаясь с нее, терминал входит в интернет и передает удаленному оператору все права по управлению машиной. Для товарищей со слабым каналом есть другой вариант – при нем роль терминального сервера выполняет не компьютер, а сам пользователь. Оператор пересылает программу, формирующую диагностическую дискету, которая анализирует ситуацию и генерирует отчет, который необходимо возвратить оператору. Затем ему присылается либо полностью автоматизированная "лечилка", либо еще одна диагностическая программа. При отсутствии интернета передачу данных можно осуществить по почте или прямому модемному соединению.
Жесткие диски – достаточно надежные устройства, самостоятельно следящие за своим здоровьем и автоматически переназначающие подозрительные сектора задолго до их полного разрушения. При бережном обращении и соблюдении всех рекомендаций производителя шансы столкнуться с физическим разрушением информации ничтожно малы. Однако разрушения все же случаются.
При отказе электроники плату обычно не ремонтируют, а заменяют всю целиком, приобретая "донора" точно такой же модели. При этом следует учитывать, что некоторые производители заносят калибровочные данные в микросхему ROM-памяти, поэтому следует аккуратно выпаять ее из неработающей платы и ввести в "донора". Если этого не сделать, то данные либо вообще не будут читаться, либо при первом же запуске винчестера окажутся необратимо испорченными.
Никогда и ни при каких обстоятельствах не вскрывай крышку гермоблока! Делать это можно только в особо чистой атмосфере. Одна пылинка, попавшая под головку винчестера, может стоить им обоим жизни. Кстати, о головках. Среди обывателей ходит совершенно нелепая легенда, что они "залипают", и, чтобы их "разлепить", следует аккуратно стукнуть по винчестеру рессорой от трактора "Беларусь" или резко крутануть его в вокруг своей оси, неизбежно выронив из рук. Это бред. Когда пластины винчестера начинают вращаться, залипшие головки выдираются с мясом, и "разлеплять" там будет уже особо нечего (если они действительно "залипали"). Подшипники (особенно гидродинамические) действительно нередко заклинивают, да так, что вал не провернешь даже пассатижами. Какие уж тут вращения в горизонтальном направлении…
Впрочем, до тотальных отказов дело обычно не доходит, и все ограничивается сбойными секторами. Обнаружив такие, ни в коем случае не пытайся запускать диагностические утилиты, включая и утилиты от самого производителя винчестера. По непонятной причине практически все они, встретив сбойный сектор, мучают его до победного конца, неизбежно распространяя зону воздействия дефекта как вглубь, так и вширь или, что еще хуже, уродуя магнитную головку, цепляющуюся за неровности дефектной зоны. Каждый винчестер имеет специальный настроечный регистр, который помимо всего прочего задает и количество повторов чтения, если с первой попытки сектор прочитать не удалось. Установи его либо в ноль (не делать повторов), либо в единицу, если ноль закреплен за значением "количество повторов по умолчанию" (как обстоят дела в конкретно взятом случае, поможет установить техническая документация, скачанная с сайта производителя). Длинное чтение секторов (long read) возвращает весь сектор целиком – пользовательские данные вместе с корректирующими кодами. Различные модели жестких дисков имеют свои особенности реализации конкретной команды, которые, к сожалению, не всегда становятся документированными, и требуемую информацию приходится по крупицам собирать в интернете (как вариант можно дизассемблировать прошивку, но это требует достаточно высокой квалификации). Чаще сектор не разрушается весь целиком, а искажается пара десятков байт, расположенных наиболее неблагоприятным для корректирующих кодов образом.
Логические разрушения Когда винчестеры с NTFS на борту уже давно бороздят просторы наших системников, говорить об остальных файловых системах (типа FAT16/32 или HPFS) становится просто неэтично (о покойниках плохо не говорят: HPFS – давно труп, да и FAT уже на ладан дышит). Поэтому сосредоточим свое внимание исключительно на NTFS. Это очень надежная система, и "уронить" ее можно только вместе со всем системным блоком, а для уничтожения данных потребуется тротил или нитроглицерин. Однако и здесь случаются и катастрофы различной степени тяжести.
Для восстановления винчестера, содержащего один или несколько NTFS-разделов, подключи его "вторым" к компьютеру, на котором уже установлена Windows NT/2000/XP со всем необходимым ПО. Также потребуется консоль восстановления. Она представляет собой разновидность командного shell'а с кучей полезных утилит на борту и выглядит приблизительно так же, как и старый добрый command.com. По умолчанию, мы имеем доступ только к папкам WINNT и Program Files, а чтобы скопировать данные из других папок (при условии что файловая система еще цела) необходимо заблаговременно в "Локальных параметрах безопасности" (папка Администрирование в Панели Управления) найти пункт "Консоль восстановления: разрешить копирование дискет и доступ ко всем папкам" и перевести рубильник во включенное состояние. Как вариант, можно, не покидая консоль восстановления, отдать команду "SET AllowAllPaths = true" для разблокирования доступа ко всем каталогам и "SET AllowRemovableMedia = true" для снятия запрета копирования файлов на гибкий диск.
Непосредственно из консоли восстановления можно запустить "chkdsk логический_диск". Ключ "/p" означает более глубокую проверку с внесением всех изменений, а ключ "/r" – поиск и восстановление дефектных секторов. Пользоваться chkdsk категорически не рекомендуется, но, если никаких других идей нет, сойдет и он.
Если ни один логический диск не доступен (команда "С:" выдает ошибку, а chkdsk говорит, что такого тома просто нет), скорее всего повреждена таблица разделов (partition table), находящаяся в главном загрузочном секторе (Master Boot Record, сокращенно MBR). Ее восстановлением занимаются десятки утилит, но при желании эту операцию можно осуществить и самостоятельно (см. врезку "Техника восстановления MBR-сектора"). Консоль восстановления поддерживает команду FIXMBR физический диск (физический диск задается в формате \Device\HardDiskN, где N – номер винчестера, считая от нуля), которая, если верить названию, должна лечить MBR, но на самом деле она всего лишь записывает туда системный загрузчик, оставляя таблицу разделов в том состоянии, в котором она была. Восстановление системного загрузчика требуется в тех случаях, когда BIOS не может обнаружить загрузочный диск, выдавая сообщение "not-system disk" или что-то в этом роде. Соответственно, команда FIXBOOT (без параметров) "лечит" основной загрузочный раздел, а, точнее, записывает в его начало стандартный boot-загрузчик. Воспользуйся ей, если операционная система не загружается, а на экране появляется надпись наподобие "missing operation system".
Если корневой каталог не отображается или содержит бессвязный мусор, то случилось самое страшное, что только могло произойти, – навернулась главная файловая таблица (Master File Table, сокращенно MFT), описывающая размещение файлов на диске. Вообще говоря, такое случается крайне редко. Благодаря поддержке механизма транзакций Windows автоматически выполняет откат, если операция обновления файловой системы завершилось неуспешно. Однако когда NTFS-драйвер едет крышей (например, из-за конфликтов с другими драйверами или нарушения целостности кэш-буфера), транзакции уже не спасают и дисковая структура гробится. Первые четыре записи таблицы MFT хранятся в специальном резервном файле, на который указывает поле "Cluster to MFT mirr", и могут быть элементарно восстановлены. А как быть со всеми остальными? Увы! Искаженные записи утеряны безвозвратно! Если диск не был обработан «врачевателями» типа chkdsk или NDD (Norton Dist Destroyer;), то шансы на ручное восстановление информации достаточно велики, однако даже поверхностное изложение методик восстановление требует сотен страниц убористого текста. Единственная достойная, на мой взгляд, утилита – это Crash Undo 2000, вытягивающая максимум информации, которую только можно вытащить из уцелевших осколков, и практически не уступающая ручному восстановлению. Однако никаких гарантий того, что после лечения диску не сделается еще хуже, у нас нет.
MBR-сектор содержит системный загрузчик и таблицу разделов. Системный загрузчик восстанавливается командой FIXMBR из консоли восстановления или программой FDISK, запущенной с ключом "/mbr". Восстановить таблицу разделов намного сложнее, особенно если винчестер был разбит на несколько логических дисков. Впрочем, глаза боятся, а руки делают, так что не будем паниковать.
Используя Disk Probe от Microsoft или Disk Editor от Symantec, забей нулевой сектор физического диска нулями, чтобы избавиться от мусора, который может помешать нормальному восстановлению. Для этого в меню "Drives" выбираем "Physical Drive", там дважды щелкаем по "Physical Drive 0" (или другому загрузочному устройству), снимаем галочку "Read Only" и командуем "Set Active". Затем – "OK" и переход в меню "Sectors". Выбрав команду "Read", в поле "Start Sectors" вводим "0". Кстати, для представления информации в более наглядном виде в меню "View" можно выбрать пункт "Partition table".
Если диск не был разбит и содержит всего один логический раздел, для его восстановления все поля следует заполнить следующим образом: "Boot Indicator" – в SYSTEM, "System ID" – в NTFS, Starting Head/Sector/Cylinder – в 1/1/0, а Ending Head/Sector/Cylinder – на последнюю головку/сектор/цилиндр твоего жесткого диска соответственно (параметры диска можно узнать в BIOS). Total Sectors содержит полное количество секторов, а Relative Sector вычисляется по следующей формуле: (Cylinder number * Sectors per Track * Heads) + (Head number * Sectors per Track) + (Sector Number -1), что соответствует адресу 0/0/1 (значения Sector per Track и Sector per Track можно узнать из диалогового ока "Disk Information", вызываемого через меню "Drives"). После сохранения внесенных изменений перезагрузись и, войдя в консоль восстановления, отдай команду FIXMBR для записи системного загрузчика.
|