- •Прежде всего... Меры предосторожности
- •Пожар в здании, где находится компьютер или стихийные бедствия. Общие принципы восстановления информации
- •С чего начать
- •Проверка параметров 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-й дорожки
Сохранение параметров диска и таблицы разделов диска
Прежде чем продолжить исследование файловой системы, мы настоятельно рекомендуем Вам записать параметры диска, определенные с помощью программы BIOS Setup, и содержимое таблицы разделов диска. Просто перепишите полученные значения на лист бумаги. Если в ходе ремонта Вы случайно разрушите область данных BIOS или главный загрузочный сектор, то сможете легко восстановить критичные данные.
Можно также сохранить содержимое сектора MBR в файле, используя соответствующие функции программ DISKEDIT или Microsoft Disk Probe. Подробные инструкции есть в документации и справочных системах указанных программ. Файл необходимо записать на дискету или на другой диск.
Исследование расширенного раздела диска
Если на диске создан только первичный раздел, можно переходить к анализу логического диска C: и других логических дисков. Если же есть расширенный раздел, необходимо проверить сектор таблицы логических дисков -самый первый сектор в расширенном разделе.
Чтобы посмотреть этот сектор, запустите программу DISKEDIT, определите с ее помощью расположение расширенного раздела (дорожка, головка и номер сектора). Затем из меню Object выберите строку Physical Sector. На экране появится диалоговая панель Select physical sector range, с помощью которой можно выбрать для просмотра один или несколько секторов.
Сектор таблицы логических дисков, в отличие от сектора главной загрузочной записи, практически пуст. Все байты в нем от начала и до смещения 0x1BD включительно должны содержать нулевое значение. Далее со смещения 0x1BE располагается таблица логических дисков, состоящая из двух элементов. В конце сектора располагается уже знакомая вам сигнатура - значение 0xAA55.
Структура элементов полностью аналогична структуре элементов таблицы разделов, поэтому Вы можете использовать форматный просмотр. Для этого установите курсор на байт со смещением 0x1BE, и затем из меню View выберите строку as Partition Table.
Сохранение содержимого таблиц логических дисков
На том же листе бумаги, где Вы записывали параметры диска и сведения из таблицы разделов диска, запишите информацию обо всех логических дисках, полученную из таблиц логических дисков. Если содержимое таблиц логических дисков будет случайно разрушено, Вы потеряете доступ к логическим дискам.
Исследование логических дисков fat
Формат логических дисков, расположенных в разделах жесткого диска, полностью идентичен формату дискет, поэтому многое из сказанного здесь будет справедливо и для дискет.
В самом начале логического диска располагается сектор загрузочной записи Boot Record (не путайте его с сектором главной загрузочной записи MBR, который является самым первым на физическом диске), а также, возможно, зарезервированные секторы.
Вслед за сектором Boot Record находятся две копии таблицы размещения файлов FAT (File Allocation Table), о которой мы еще будем говорить, и корневой каталог. Область данных, занимающая оставшуюся часть логического диска, содержит файлы и остальные каталоги.
Проверка загрузочного сектора
Адрес загрузочного сектора логического диска нетрудно найти в таблице логических дисков. В загрузочном секторе логического диска находится программа начальной загрузки операционной системы. Эта программа помещается в оперативную память загрузчиком, расположенным в главной загрузочной записи MBR.
Назначение программы, расположенной в загрузочном секторе логического диска - загрузка операционной системы, находящейся на этом логическом диске.
Таким образом, при включении питания после выполнения процедуры тестирования BIOS загружает в оперативную память содержимое главной загрузочной записи MBR и передает ей управление. Главная загрузочная запись просматривает таблицу разделов диска и находит активный раздел. При наличии нескольких таких разделов пользователю предлагается сделать выбор раздела для загрузки.
Затем запись MBR считывает загрузочный сектор Boot Record логического диска, расположенного в выбранном активном разделе, и передает управление находящейся в этом секторе программе загрузки операционной системы. Эта программа, в свою очередь, выполняет всю работу по загрузке операционной системы в память компьютера.
Формат загрузочного сектора зависит от версии операционной системы. Однако в любом случае помимо программы начальной загрузки операционной системы загрузочная запись содержит параметры, описывающие характеристики данного логического диска. Все эти параметры располагаются в самом начале сектора, в его так называемой форматированной области. Последние два байта загрузочного сектора содержат уже знакомую вам сигнатуру 0xAA55.
Перед исследованием загрузочной записи Вы должны при помощи команды VER определить версию операционной системы, установленной в компьютере. Для версий MS-DOS, более ранних, чем 4.0, формат загрузочной записи приведен ниже:
Смещение, байт |
Размер, байт |
Описание |
0 |
3 |
Команда JMP xxxx (переход на программу начальной загрузки) |
3 |
8 |
Название фирмы-изготовителя операционной системы и версия, например: IBM 4.0 |
0xB |
13 |
Блок параметров BIOS (BPB) |
0x18 |
2 |
Количество секторов на дорожке |
0x1A |
2 |
Количество головок |
0x1C |
2 |
Количество скрытых секторов |
В самом начале загрузочного сектора располагается команда внутрисегментного перехода JMP. Она нужна для обхода форматированной зоны сектора и передачи управления загрузочной программе, располагающейся со смещением 0x1E.
Название фирмы-изготовителя не используется операционной системой и представляет собой текстовую строку длиной 8 байт.
Со смещением 0xB располагается блок параметров BIOS Parameter Block (BPB). Этот блок содержит некоторые характеристики логического диска, такие как количество секторов в одном кластере, общее количество секторов и т. д. Формат блока BPB будет описан позже.
Поля загрузочного сектора со смещениями 0x18 и 0x1A содержат, соответственно, количество секторов на дорожке и количество головок. Поле со смещением 0x1C содержит количество "скрытых" секторов, которые не принадлежат ни одному логическому диску. Эти секторы могут использоваться для схемы разделения физического диска на разделы и логические диски (в них может находиться таблица разделов диска или таблицы логических дисков).
Смещение, байт |
Размер, байт |
Описание |
0 |
3 |
Команда JMP xxxx (переход на программу начальной загрузки) |
3 |
8 |
Название фирмы-изготовителя операционной системы и версия |
0xB |
25 |
Extended BPB - расширенный блок параметров BIOS |
0x24 |
1 |
Физический номер устройства (0 - накопитель на гибком магнитном диске НГМД, 0x80 - жесткий диск) |
0x25 |
1 |
Зарезервировано |
0x26 |
1 |
Значение 0x29 - признак расширенной загрузочной записи Extended BPB |
0x27 |
4 |
Серийный номер диска (Volume Serial Number), создается во время форматирования диска |
0x2B |
11 |
Метка диска (Volume Label) |
0x36 |
8 |
Текстовая строка "FAT12" или "FAT16" |
Первые два поля имеют то же назначение, что и в загрузочной записи старых версий MS-DOS.
Поле со смещением 26h содержит число 0x29, означающее, что используется формат расширенной загрузочной записи и, соответственно, расширенный блок параметров BIOS Extended BPB.
Серийный номер диска формируется во время форматирования диска на основе даты и времени форматирования. Поэтому все диски и дискеты имеют разные серийные номера.
Метка диска формируется при форматировании и может быть изменена, например, командой LABEL операционной системы MS-DOS. Одновременно метка диска помещается в корневой каталог в виде специального дескриптора. О формате каталогов и дескрипторов, а также о формате таблицы размещения файлов FAT мы расскажем позже.
Теперь о блоке параметров BIOS BPB и расширенном блоке параметров BIOS Extended BPB.
Для версий MS-DOS, более ранних, чем 4.0, блок BPB имеет следующий формат:
Смещение, байт |
Размер, байт |
Описание |
0 |
2 |
Количество байт в одном секторе диска |
2 |
1 |
Количество секторов в одном кластере |
3 |
2 |
Количество зарезервированных секторов |
5 |
1 |
Количество таблиц FAT |
6 |
2 |
Максимальное количество дескрипторов файлов в корневом каталоге диска |
8 |
2 |
Общее количество секторов на носителе данных (в разделе MS-DOS) |
0Ah |
1 |
Байт-описатель среды носителя данных |
0Bh |
2 |
Количество секторов, занимаемых одной копией FAT |
Расширенный блок параметров BIOS файловых систем FAT-12 и FAT-16 состоит из обычного блока BPB и дополнительного расширения:
Смещение, байт |
Размер, байт |
Описание |
0 |
2 |
Количество байт в одном секторе диска |
2 |
1 |
Количество секторов в одном кластере |
3 |
2 |
Количество зарезервированных секторов |
5 |
1 |
Количество таблиц FAT |
6 |
2 |
Максимальное количество дескрипторов файлов в корневом каталоге диска |
8 |
2 |
Общее количество секторов на носителе данных (в разделе MS-DOS) |
0Ah |
1 |
Тип носителя данных |
0Bh |
2 |
Количество секторов, занимаемых одной копией FAT |
0Dh |
2 |
Количество секторов на дорожке |
0Fh |
2 |
Количество магнитных головок |
11h |
2 |
Количество скрытых секторов для раздела, который по размеру меньше 32 Мбайт |
13h |
2 |
Количество скрытых секторов для раздела, превышающего по размеру 32 Мбайт |
15h |
4 |
Общее количество секторов на логическом диске для раздела, превышающего по размеру 32 Мбайт |
Для дискет и диска тип носителя данных может принимать следующие значения:
Значение |
Количество сторон |
Количество секторов |
Диаметр, дюймы |
Емкость, Кбайт |
0xF0 |
2 |
18 |
3,5 |
1440 |
0xF0 |
2 |
36 |
3,5 |
2880 |
0xF0 |
2 |
15 |
5,25 |
1200 |
0xF8 |
- |
- |
- |
Жесткий диск любой емкости |
0xF9 |
2 |
9 |
3,5 |
720 |
0xF9 |
2 |
15 |
5,25 |
1200 |
0xFA |
1 |
8 |
5,25 |
320 |
0xFB |
2 |
8 |
3,5 |
640 |
0xFC |
1 |
9 |
5,25 |
180 |
0xFD |
2 |
9 |
5,25 |
360 |
0xFE |
1 |
8 |
5,25; 8 |
160 |
0xFF |
2 |
8 |
5,25; 8 |
320 |
Что же касается файловой системы FAT-32, то формат ее загрузочного сектора аналогичен только что описанному, за исключением блока BPB. Размер этого блока составляет 0x25 байт, а формат приведен ниже:
Смещение, байт |
Размер, байт |
Описание |
0 |
2 |
Количество байт в одном секторе диска |
2 |
1 |
Количество секторов в одном кластере |
3 |
2 |
Количество зарезервированных секторов |
5 |
1 |
Количество таблиц FAT |
6 |
2 |
Максимальное количество дескрипторов файлов в корневом каталоге диска |
8 |
2 |
Общее количество секторов на носителе данных (в разделе) |
0xA |
1 |
Тип носителя данных |
0xB |
2 |
Количество секторов, занимаемых одной копией FAT |
0xD |
2 |
Количество секторов на дорожке |
0xF |
2 |
Количество магнитных головок |
0x11 |
4 |
Количество скрытых секторов для раздела, который по размеру меньше 32 Мбайт |
0x15 |
4 |
Общее количество секторов на логическом диске для раздела, превышающего по размеру 32 Мбайт |
0x19 |
4 |
Размер таблицы FAT в секторах |
0x1D |
2 |
Расширенные флажки |
0x1F |
2 |
Версия файловой системы |
0x21 |
4 |
Номер первого кластера корневого каталога |
0x25 |
2 |
Сектор, содержащий различные сведения о файловой системе в целом |
0x27 |
2 |
Номер сектора, в котором находится резервная копия загрузочного сектора |
0x29 |
12 |
Зарезервировано |
Для форматного просмотра блока параметров BPB (или расширенного блока параметров Extended BPB, в зависимости от версии MS-DOS) удобно использовать программу DISKEDIT. При этом Вы можете найти загрузочную запись двумя способами.
Во-первых, можно выбрать из меню Object строку Boot Record (выбрав предварительно нужный логический диск при помощи строки Drive того же меню). Вы сразу же окажитесь в режиме форматного просмотра блока параметров BIOS выбранного вами диска (рис. 5).
Рис. 5. Просмотр блока параметров BIOS
Во-вторых, если логические диски недоступны, но Вам удалось считать таблицу разделов или таблицу логических дисков, Вы можете перейти к просмотру загрузочной записи, указав ее физический адрес. Для этого из меню Object надо выбрать строку Physical Address (как это было описано раньше). На экране появится дамп первой части загрузочного сектора. Нажав клавишу PgDn, Вы можете перейти к просмотру второй части загрузочного сектора.
При помощи строк as Boot Record и as Hex меню View Вы можете перейти, соответственно, к форматному и неформатному режиму просмотра загрузочного сектора.
Аналогичные возможности форматного просмотра загрузочных записей FAT есть и у программы Microsoft Disk Probe.
Формирование загрузочной записи и блока параметров BIOS происходит при форматировании логического диска (например, командой FORMAT). Если с помощью программы FDISK удалить логический диск, а потом создать на его месте новый такого же размера, блок BPB окажется разрушенным. При этом Вам придется отформатировать логический диск заново.
Блок параметров BIOS содержит критичную информацию, при разрушении которой становится невозможным нормальный доступ к файлам и каталогам, расположенным на логическом диске. Неосторожное обращение с загрузочным сектором жесткого диска может привести к необходимости переформатирования соответствующего логического диска с полной потерей хранившихся там данных.
Перед тем как продолжить дальнейший анализ файловой системы, полезно сделать распечатку содержимого загрузочных секторов всех имеющихся логических дисков в форматном и неформатном виде, так как блок параметров BIOS содержит сведения, необходимые для поиска и анализа других логических структур файловой системы. Для распечатки выберите из меню Tools строку Print Object as и в появившейся на экране диалоговой панели выберите строку Boot Record. Затем нажмите кнопку OK.
Аналогичным образом Вы можете распечатать содержимое других логических структур файловой системы, например, содержимое таблицы разделов диска.
Вместо распечатки можно сохранить содержимое загрузочных записей в файле на дискете или на другом диске.