Крис Касперски - Восстановление данных. Практическое руководство
Большинство (если не все) дистрибутивов Linux включают в себя отладчик debugfs, поддерживающий ext2fs и, отчасти, ext3fs (рис. 2.18).
Рис. 2.18. Отладчик файловой системы debugfs за работой
Необходимое техническое оборудование
Непременным атрибутом серьезной фирмы была и остается "чистая комната", обеспечивающая класс чистоты 100. Это означает, что в одном кубическом футе воздуха не может содержаться более 100 пылинок размером 0,5 мкм каждая. За этими незатейливыми словами скрывается грандиозное инженерное сооружение стоимостью от 30 тыс. долларов. Конструкция типовой "чистой комнаты" показана на рис. 2.19. Менее серьезные ремонтники ограничиваются "чистой камерой", что на порядок дешевле. Однако для кустарных мастеров даже это неподъемно дорого. Можно ли обойтись без чистой комнаты или соорудить ее самостоятельно?
Рис. 2.19. Схематичное устройство типовой чистой комнаты
Вопреки распространенным слухам и опасениям — да, можно! Как минимум, достаточно обыкновенной незапыленной комнаты с работающим кондиционером, или даже без него. Кроме того, желательно обзавестись ионизатором (ионизатор вызывает слипание частичек пыли, и они, вместо того, чтобы носиться по комнате, оседают на пол, откуда их удаляет нехитрая система вентиляции). Хороший ионизатор стоит в пределах от 500 до 1000 долларов, но, при желании, его можно сконструировать и самостоятельно. Взять хотя бы ту же "Люстру Чижевского", схему которой легко найти в старых журналах "Радио", "Моделист-Конструктор" или в Интернете. Естественно, непосредственно перед проведением работ ионизатор нужно выключать.
Если вы занимаетесь ремонтом винчестеров более или менее постоянно, имеет смысл соорудить некоторое подобие чистой камеры. Для этого потребуется стеклянный аквариум, воздушный фильтр и компрессор, нагнетающий воздух внутрь аквариума и препятствующий попаданию пыли через открытую переднюю стенку. Передняя стенка при этом остается открытой! Аквариум ставится на бок, открытой стороной на себя. Сверху закрепляется стеклянная пластина, закрывающая до 2/3 поверхности, а внутрь устанавливается воздушный фильтр. Компрессор остается снаружи. Оставшаяся 1/3 закрывается другой пластинкой, после чего на несколько часов включается фильтр (точное время зависит от его пропускной способности и объема аквариума), а затем, перед началом работ, эта пластинка удаляется, предоставляя простор рукам. Невероятно дешево, но достаточно чисто. Во всяком случае, намного чище открытой жилой комнаты. Учитывая непродолжительное время вскрытия гермозоны, на пластины успевает осесть не так уж много пыли, и у вас есть все шансы считать с винчестера данные прежде, чем он окончательно прикажет долго жить.
После выполнения всех операций винчестер следует обязательно закрыть крышкой, предварительно удалив попавшие пылинки с помощью баллончика с воздухом для продувки двигателей, который можно купить в автомагазине. При длительном хранении баллончика в нем образуется конденсат, поэтому первые порции воздуха ни в коем случае не следует выпускать на восстанавливаемый диск. Кроме того, баллончик не следует встряхивать. Видеоматериал, иллюстрирующий процедуру ремонта жесткого диска, подготовленный главным инженером компании АСЕ (http://www.acelab.ru) Сергеем Яценко, можно посмотреть по следующему адресу: http://pc3k.rsu.ru/video/video03_N40P_disk_swap.avi (157 Мбайт).
Внимание!Накопитель может находиться с открытой крышкой только при условии обеспечения надлежащего класса чистоты. Продолжительная работа с "оголенной" гермозоной вне пределов чистой камеры недопустима! Частицы пыли, присутствующие в воздухе, сталкиваясь с вращающейся пластиной, за короткий срок уничтожают магнитное покрытие (рис. 2.20). На дисках со стеклянной подложкой (например, винчестерах типа DTLA) образуется настоящий "иллюминатор".
Рис. 2.20. Для жесткого диска каждая пылинка равносильна метеориту
Но ведь при вскрытии гермоблока в него все равно попадает пыль! Разве от закрытия крышки она исчезнет? На самом деле внутри гермоблока расположен фильтр рециркуляции, активно поглощающий попавшую пыль, в результате чего ее концентрация быстро уменьшается до приемлемых значений. Если же гермоблок остается открытым, то концентрация пыли остается постоянной. Еще одна причина состоит в том, что закрепленная крышка слегка деформирует гермоблок, поэтому без нее диск может читаться нестабильно, с многократными повторами. Таким образом, установка крышки жизненно важна. Запустив утилиту, выводящую скоростную кривую на экран, попеременно подтягивайте болты, добиваясь наиболее ровного графика чтения.
Как уже говорилось, часы жизни винчестера, вскрытого вне чистой комнаты, сочтены. При этом время, требующееся для вычитки данных, — велико. Поэтому жесткий диск лучше подключать к компьютеру напрямую и, в первую очередь, считывать только самые важные данные, установив счетчик повторов чтения на значение 3x. То есть сначала читаем все, что читается само, и только затем — то, что читается с трудом.
Кроме наличия "чистой комнаты", еще одним козырем серьезных фирм являются аппаратно-программные комплексы. Наибольшую известность получили PC-3000 от АСЕ Lab (http://www.acelab.ru) и HDD Repair Tools от BVG Group (http://www.bvg-group.ru), причем HDD Repair Tools уступает PC-3000 по качеству поддержки, документации и программного обеспечения.
Что же представляют собой аппаратно-программные комплексы по восстановлению данных? С "аппаратной" точки зрения это — обыкновенный (даже слегка ущербный) контроллер IDE, поддерживающий режимы PIO и, отчасти DMA/UDMA, оборудованный встроенным электронным ключом, позволяющим подключать и отключать жесткие диски "на лету", без выключения компьютера, что очень удобно. Однако того же эффекта можно достичь, если подсоединить жесткий диск к отдельному блоку питания, а перед его выключением подать ATA-команду 94h (standby immediate). Аппаратно-программный комплекс PC-3000, установленный в компьютер, показан на рис. 2.21.
Рис. 2.21. Аппаратно-программный комплекс PC-3000, установленный в компьютер
Технологические команды, приоткрывающие дверь во внутренний мир жесткого диска, передаются либо по ATA-интерфейсу, либо через COM-терминал. Да-да! На многих моделях винчестеров имеется интегрированный COM-порт, подключившись к которому, можно контролировать процесс инициализации и управлять приводом (правда, не на всех дисках он распаян, то есть выведен на разъем). Обычного СОМ-порта, встроенного в компьютер, плюс пары переходников, которые любой радиолюбитель легко смастерит самостоятельно, для наших целей вполне достаточно. Еще в аппаратно-программных комплексах имеется возможность в любой момент подать команду RESET, что помогает в случае "зацикливания" жесткого диска. Штатные IDE-контроллеры на это не способны, но что мешает прицепить на шину IDE свою кнопку или просто замкнуть пинцетом выводы?
Зачем же тогда люди приобретают аппаратно-программные комплексы, отстегивая за них ненормальную цену? В частности, PC-3000 в полном комплекте обойдется в несколько тысяч долларов. Ответ прост — деньги платятся за поддержку и сервис! Сам по себе PC-3000 бесполезен. Однако к нему прилагается документация с подробным описанием методики восстановления различных моделей винчестеров, имеется база служебных модулей, к услугам которой приходится прибегать, если родная "служебка" отправилась к праотцам, и, наконец, в стоимость комплекса входят консультация и обучение.
Кроме того, к комплексу прилагается мощное программное обеспечение, в частности, Data Extractor, отличительной чертой которого является способность автоматического восстановления транслятора (в гл. 4 мы об этом еще поговорим), а также продуманный механизм "вычитывания" информации. Если сектор прочитался, он заносится в базу. В дальнейшем такой сектор никогда не читается с диска повторно (если только пользователь не даст команду сделать это), а всегда берется из базы.
Большинство распространенных утилит (например, GetDataBack от Runtime Software) ведут себя совсем не так. Они многократно перечитывают одни и те же сектора, особенно сектора, принадлежащие служебным областям диска, например, FAT или MFT, или даже попросту завершают свою работу при встрече с BAD-сектором. В случае логических разрушений это нормальный подход. Однако для восстановления физически поврежденных жестких дисков он непригоден. Можно, конечно, написать такую утилиту самостоятельно или доработать близкий по духу Open Source проект, можно раздобыть готовую служебку в сети или считать ее с аналогичной модели винчестера, но на все это требуется время, а времени всегда не хватает. Наличие специализированного инструментария существенно упрощает дело. Тем не менее, аппаратно-программный комплекс не панацея! Специалист, умеющий ремонтировать жесткие диски, при необходимости обойдется и без специализированного аппаратно-программного комплекса. С другой стороны, людям, не обладающим необходимыми знаниями и навыками, никакой комплекс ничем не поможет.