Чтение онлайн

на главную - закладки

Жанры

Восстановление данных. Практическое руководство
Шрифт:

Первые

1BBh
байт занимают код и данные загрузчика, среди которых отчетливо выделяются текстовые строки.

Примечание

Кстати говоря, локализовав сообщения загрузчика в национальных версиях Windows, например, в русской, Microsoft допустила грубейшую стратегическую ошибку. Ведь в BIOS нет никаких кириллических шрифтов, поэтому русские символы выглядят бессмысленной абракадаброй.

По смещению

1BBh
расположен четырехбайтовый идентификатор диска, принудительно назначаемый Windows при запуске Disk Manager. Коварство Microsoft не знает границ! Еще со времен первых IBM PC (тогда они назывались XT) загрузчик владел первыми
1BEh
байтами MBR, и достаточно многие загрузчики (и вирусы!) использовали эти байты на полную катушку. Нетрудно сообразить, что произойдет, если внутрь загрузчика вдруг запишется идентификатор. Это убьет его! Поэтому байты
1BBh
1BEh
лучше не трогать.

Со смещения

1BEh
начинается
таблица разделов, представляющая собой массив из четырех записей типа
partition
. Каждая из этих записей описывает свой логический диск, что позволяет нам создавать до четырех разделов на каждом HDD. Формат записи таблицы разделов представлен в табл. 5.2. Динамические диски, впервые появившиеся в Windows 2000, хранятся в базе данных Менеджера Логических Дисков (Logical Disk Manager Database), и в таблице разделов присутствовать не обязаны.

Таблица 5.2. Формат записи таблицы разделов

Смещение Размер Описание
000
1ВЕ
1CE
1DE
1EE
byte
Флаг активного загрузочного раздела (Boot Indicator).
80h
— загрузочный раздел,
00h
— незагрузочный раздел
001
1BF
1CF
1DF
1EF
Стартовая головка раздела
002
1C0
1D0
1E0
1F0
byte
Стартовый сектор раздела (биты 0–5). Старшие биты стартового цилиндра (биты 6–7)
003
1C1
1D1
1E1
1F1
byte
Младшие биты стартового цилиндра (биты 0–7)
004
1C2
1D2
1E2
1F2
byte
Идентификатор системы (Boot ID), см. табл. 5.3
005
1C3
1D3
1E3
1F3
byte
Конечная головка раздела
006
1С4
1D4
1E4
1F4
byte
Конечный сектор раздела (биты 0–5). Старшие биты конечного цилиндра (биты 6–7)
007
1C5
1D5
1E5
1F5
Младшие биты конечного цилиндра (биты 0–7)
008
1C6
1D6
1E6
1F6
dword
Смещение раздела относительно начала таблицы разделов в секторах
00C
1CA
1DA
1EA
1FA
dword
Количество секторов раздела

Таблица 5.3. Возможные значения Boot ID

Boot ID Тип
раздела
00h
Раздел свободен
0x01
Раздел FAT12 (менее чем 32 680 секторов в томе или 16 Мбайт)
0x04
Раздел FAT16 (32 680–65 535 секторов или 16–33 Мбайт)
0x05
Расширенный раздел (extended partition)
0x06
Раздел BIGDOS FAT16 (33 Мбайт–4 Гбайт)
0x07
Раздел NTFS
0x0B
Раздел FAT32
0x0C
Раздел FAT32 с поддержкой расширенной BIOS
INT 13h
0x0E
Раздел BIGDOS FAT16 с поддержкой расширенной BIOS
INT 13h
0x0F
Расширенный раздел с поддержкой расширенной BIOS
INT 13h
0x12
Раздел EISA
0x42
Динамический диск
0x86
Раздел legacy FT FAT16
0x87
Раздел legacy FT NTFS
0x8B
Наследуемый отказоустойчивый том, отформатированный для FAT32 (Legacy FT volume formatted with FAT32)
0x8C
Наследуемый отказоустойчивый том с поддержкой BIOS
INT 13h
, отформатированный для FAT32 (Legacy FT volume using BIOS
INT 13h
extensions formatted with FAT32)

Техника восстановления главной загрузочной записи

Существует множество утилит для автоматического восстановления первичного загрузчика и таблицы разделов, к числу которых относятся, например, GetDataBack, Easy Recovery, Active@Data Recovery Software и др. До поры до времени они вполне успешно справлялись со своей задачей, восстанавливая даже полностью уничтоженные таблицы разделов, однако с появлением емких дисков, преодолевших барьер в 2 Гбайт с помощью всевозможных расширений, они стали часто путаться. Поэтому и доверять им больше нельзя. Если не хотите потерять свои данные — восстанавливайте MBR самостоятельно (тем более что это достаточно простая операция, не требующая особой квалификации). Восстановление значительно упрощается, если в вашем распоряжении имеется копия таблицы разделов, снятая с помощью Sector Inspector или любой другой подобной утилиты. К сожалению, чаще всего ее под рукой не оказывается…

Если операционная система отказывается загружаться, а на экране появляется сообщение BIOS, выглядящее примерно следующим образом:

Disk Boot failure, Non-System disk or disk error...

Press <Enter> to restart
то это указывает на разрушение сигнатуры
55h AAh
, обычно сопровождаемое смертью первичного загрузчика.

Примечание

Очень важно отличать сообщение BIOS от сообщений первичного загрузчика и загрузочного сектора. Зайдите в BIOS Setup и отключите все загрузочные устройства, оставив активным только диск

A:
(и не забудьте извлечь из него дискету). А теперь перезагрузитесь и запомните, какое сообщение появится на экране. Это и будет "ругательством" BIOS.

Восстановить сигнатуру

55h AAh
можно в любом дисковом редакторе. Когда будете это делать, убедитесь, что в начале диска присутствует осмысленный код первичного загрузчика (master boot code).

Рекомендация

Если вы испытываете затруднение с дизассемблированием в уме, воспользуйтесь IDA PRO или HIEW. Вы не умеете дезассемблировать? Тогда попробуйте оценить степень "нормальности" первичного загрузчика визуально (однако для этого опять-таки требуется опыт работы с кодом). В начале более или менее стандартного загрузчика расположено приблизительно

100h
байт машинного кода, в котором обнаруживаются последовательности:
00 7C
,
1B 7C
,
BE 07
,
CD 13
,
CD 18
,
CD 10
,
55 AA
, а затем идут характерные текстовые сообщения:
Invalid partition table
,
Error loading operating system
,
Missing operating system
(см. рис. 5.4). Если загрузчик поврежден, но сигнатура
55 AA
цела, то попытка загрузки с такого диска обернется неизменным зависанием.

Поделиться:
Популярные книги

Шериф

Астахов Евгений Евгеньевич
2. Сопряжение
Фантастика:
боевая фантастика
постапокалипсис
рпг
6.25
рейтинг книги
Шериф

Меч Предназначения

Сапковский Анджей
2. Ведьмак
Фантастика:
фэнтези
9.35
рейтинг книги
Меч Предназначения

Конь Рыжий

Москвитина Полина Дмитриевна
2. Сказания о людях тайги
Проза:
историческая проза
8.75
рейтинг книги
Конь Рыжий

Отверженный VIII: Шапка Мономаха

Опсокополос Алексис
8. Отверженный
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Отверженный VIII: Шапка Мономаха

Имя нам Легион. Том 1

Дорничев Дмитрий
1. Меж двух миров
Фантастика:
боевая фантастика
рпг
аниме
5.00
рейтинг книги
Имя нам Легион. Том 1

Хозяйка старой пасеки

Шнейдер Наталья
Фантастика:
попаданцы
фэнтези
7.50
рейтинг книги
Хозяйка старой пасеки

Кодекс Охотника. Книга VIII

Винокуров Юрий
8. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга VIII

Эволюционер из трущоб. Том 3

Панарин Антон
3. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
6.00
рейтинг книги
Эволюционер из трущоб. Том 3

Сын Тишайшего 3

Яманов Александр
3. Царь Федя
Фантастика:
попаданцы
альтернативная история
фэнтези
5.00
рейтинг книги
Сын Тишайшего 3

Потомок бога 3

Решетов Евгений Валерьевич
3. Локки
Фантастика:
аниме
фэнтези
5.00
рейтинг книги
Потомок бога 3

Сумеречный стрелок

Карелин Сергей Витальевич
1. Сумеречный стрелок
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сумеречный стрелок

Отверженный. Дилогия

Опсокополос Алексис
Отверженный
Фантастика:
фэнтези
7.51
рейтинг книги
Отверженный. Дилогия

Плохой парень, Купидон и я

Уильямс Хасти
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Плохой парень, Купидон и я

Архил...? Книга 2

Кожевников Павел
2. Архил...?
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Архил...? Книга 2