- •Прежде всего... Меры предосторожности
- •Пожар в здании, где находится компьютер или стихийные бедствия. Общие принципы восстановления информации
- •С чего начать
- •Проверка параметров bios
- •Тип и параметры диска
- •Расширенные параметры bios
- •Установка параметров bios по умолчанию
- •Структура файловой системы
- •Восстановление partition table
- •Восстановление данных вручную
- •Формат записи значений цилиндра и сектора (10 и 6 бит соответственно)
- •Значение "относительного сектора"
- •Восстановление винчестера, разбитого на несколько логических дисков.
- •Восстановление загрузочного сектора fat Простейший случай. Разрушен только Boot Sector
- •Непростой случай. Разрушен не только Boot Sector
- •Как восстановить Boot Sector вручную
- •Восстановление загрузочного сектора ntfs
- •Восстановление загрузочного сектора первого раздела
- •Восстановление резервного загрузочного сектора, если первичный сектор отсутствует, поврежден или содержит неверные данные
- •Восстановление загрузочных секторов в Extended partitions
- •Восстановление самой fat Резервная копия
- •Файл подкачки
- •Проверка состояния файловой системы fat
- •Проверка параметров bios
- •Тип и параметры диска
- •Расширенные параметры bios
- •Установка параметров bios по умолчанию
- •Анализ главной загрузочной записи mbr и таблицы разделов
- •Описание формата таблицы разделов
- •Прослеживание списка разделов диска
- •Проверка таблицы разделов при помощи программы diskedit
- •Сохранение параметров диска и таблицы разделов диска
- •Исследование расширенного раздела диска
- •Сохранение содержимого таблиц логических дисков
- •Исследование логических дисков fat
- •Проверка загрузочного сектора
- •Анализ зарезервированных секторов
- •Формат таблицы fat
- •Просмотр таблицы fat
- •Формат каталогов
- •Просмотр каталогов
- •Каталоги в файловой системе vfat
- •Область данных
- •Поиск и восстановление файлов в разделах fat
- •Поиск с помощью программы Norton File Find
- •Поиск с помощью программы diskedit
- •Поиск разделов
- •Поиск таблиц fat
- •Поиск потерянных каталогов
- •Восстановление потерянных каталогов и файлов
- •Один из алгоритмов восстановления области данных
- •Приступим
- •А если Root Directory восстановить не удалось?
- •Этот способ применим как для каталогов, так и для отдельных файлов. Восстановление данных в разделах ntfs (с) Александр Фролов, 2002, http://www.Frolov.Pp.Ru/, http://www.Datarecovery.Ru/
- •Файловая система нового поколения для Microsoft Windows nt/2000
- •Поиск основных внутренних структур ntfs
- •Загрузочный сектор раздела ntfs
- •Определение геометрии раздела ntfs
- •Размер сектора
- •Размер кластера
- •Начало таблицы mft и копии ее первых записей
- •Размер записи таблицы mft
- •Поиск главной таблицы файлов mft
- •Атрибуты файла
- •Поиск атрибутов в записях mft
- •Массив корректировки секторов записи mft
- •Прослеживание списка атрибутов
- •Формат атрибутов файла
- •Заголовок атрибута файла
- •Проблемы с оборудованием
- •Термокалибровка
- •Отказ модуля диагностики
- •Мультисекторные операции
- •Вычисление зон предкомпенсации
- •Потеря сигнала готовности
- •Ошибка чтения сектора
- •Восстановление 0-й дорожки
Проблемы с оборудованием
Ремонт жестких дисков требует специального оборудования и практически невозможен в домашних условиях. Так, например, только для вскрытия герметичного контейнера, необходима особо чистая от пыли комната. Казалось бы, положение безнадежно и нечего и помышлять восстановить поломанный диск в домашних условиях. Но к счастью не все поломки настолько серьезны, и во многих случаях можно обойтись для ремонта подручными (а иногда чисто программными средствами).
Термокалибровка
Одним из самых частых отказов винчестеров фирмы Western Digital (а так же и некоторых других) выглядит следующим образом - жесткий диск не опознается BIOS, а головки при этом отчетливо стучат. Скорее всего, по какой-то причине не работает блок термокалибровки, и устройство не может обеспечить нужный зазор между головкой и рабочей поверхностью "блина". Обычно это происходит при отклонении от температурного режима эксплуатации, например в зимнее время, когда жесткие диски в плохо отапливаемых помещениях "выстывают" за ночь (при температуре 18°-21° жесткий диск часто может исправно функционировать и с испорченным механизмом термокалибровки)
Попробуйте дать поработать винчестеру в течение нескольких часов, что бы он мог прогреться, при этом рано или поздно последний попадет в необходимый диапазон температур и работоспособность (возможно временно) восстановиться. Разумеется, что первым делом нужно скопировать всю информацию, поскольку работоспособность такого диска уже не гарантируется, хотя на винчестере с нерабочей системой термокалибровки иной раз можно поработать достаточно длительное время, но все же лучше не рисковать. (То же относится и к устаревшим моделям без термокалибровки; часто они оказываются зависимыми от температурного режима, что с ростом износа винчестера становиться заметно все сильнее и сильнее)
Отказ модуля диагностики
Вторым по распространенности отказом является выход из строя модуля диагностики при полной исправности остальных компонентов. Как бы это не было парадоксально, но это факт - полностью рабочий винчестер не проходит диагностику. При этом в регистре ошибок (порт 0х1F1 для первого жесткого диска) могут содержаться следующие значения:
Бит |
Содержимое |
Источник ошибки |
7 |
0 |
Ошибка master диска |
7 |
1 |
Ошибка slave диска |
2-0 |
011 |
Ошибка секторного буфера |
2-0 |
100 |
Ошибка контрольной суммы, не устранимая избыточным кодированием |
2-0 |
101 |
Ошибка микроконтроллера |
При этом разные BIOS-ы могут по различно реагировать на такую ситуацию, которая, однако, сводится к одному - жесткий диск не определяется и не "чувствуется". Однако на уровне портов ввода \ вывода устройство функционирует отлично. Заметим, что существуют такие материнские платы (особенно среди новых моделей), которые, обнаружив ошибку микроконтроллера винчестера, просто отключают питание жесткого диска. Несложно написать драйвер для испорченного таким образом диска, который обеспечит работу с ним через высокоуровневый интерфейс Int 0x13. Например, следующая процедура обеспечивает посекторное чтение и запись через порты ввода вывода для первого жесткого диска в CHS режиме. LBA mode для упрощения понимания не поддерживается. Необходимую техническую информацию обычно можно найти на сайте производителя вашего жесткого диска.
HDD_IO:
MOV DX, 1F2h ; Число секторов MOV AL, 1 ; Читаем один сектор OUT DX, AL ; ^ INC DX ; Номер сектора (считая от 1) OUT DX, Sector ; Какой сектор читать INC DX ; Младший байт номера цилиндра (считая с 0) MOV AL, CylLow ; ^ OUT DX, AL ; ^ INC DX ; Старший байт номера цилиндра OUT DX, AL ; ^ MOV AL, 10100000B ; Режим - диск #0, CHS mode OR AL, Head ; Головка (считая от 0) INC DX ; ^ OUT DX, AL ; ^ INC DX ; Командный регистр MOV AL, command ; операция #2 чтение\#3 запись OUT DX, AL ; ^ MOV DX, 1F0h ; Регистр данных MOV CX, Sector_size; Размер сектора LEA SI, Buffer ; Указывает на буфер данных MOV AL,command ; Код команды. AND AL,1 ; Четный (чтение) или нет (запись) JNZ write ; --> пишем REP MOVSB ; Читаем данные RET ; --/ Write: REP STOSB ; Записываем RET ; --/
|
BIOS |
IDE |
Результат |
Максимальное число секторов на дорожке |
63 |
255 |
63 |
Максимальное число головок |
255 |
16 |
16 |
Максимальное число цилиндров |
1024 |
65536 |
1024 |
Максимальный размер диска |
8.4 ГБ |
136.9 ГБ |
528 МБ |
Этот фрагмент может служить вполне работоспособным ядром для драйвера 16-ти разрядного режима. Для упрощения понимания не включена задержка, после каждого обращения к порту. (Вообще-то, в зависимости от соотношений скорости вашего процессора и контролера диска эта задержка может и вовсе не потребоваться; в противном случае рекомендуется читать регистр статуса 0x1F7 дожидаясь готовности контроллера)
При этом даже не будет особой нужны спешить менять такой жесткий диск на новый и с подобной неисправностью можно успешно проработать не год и не два. Последнее, правда, лишь при условии, что все используемое вами ПО не будет конфликтовать с нестандартным драйвером. Учитывая, что писать его, скорее всего, придется вам, поскольку не известно ни одной коммерческой разработки в этом направлении, а все любительские страдают большой забитостью "под себя". Так, например драйвер от KPNC hddFix3a поддерживает только Primary Master до пятисот мегабайт и не работает в среде Windows 95 (поскольку был разработан на год раньше ее появления). Более легкий, но не всегда осуществимый путь - запретить тестирование жестких дисков BIOS-ом или, по крайней мере, игнорировать результаты оного. Как это осуществить, можно прочесть в руководстве на Вашу материнскую плату (или обратится за помощью к технической поддержке фирмы производителя, поскольку в руководствах пользователя такие тонкости нередко опускают). Например, попробуйте установить 'Halt on' в 'Never' или перезаписать Флеш-Биос, модифицировав его так, что бы тот не выполнял подобную проверку. Если Вам повезет, жесткий диск заработает!