Структура загрузочной записи DOS
Сектор, содержащий загрузочную запись, является самым первым на логическом диске (на дискете – имеет физический адрес [0-0-1]). Boot Record состоит, как мы уже знаем, из двух частей – disk parameter block (DPB) и system bootstrap (SB). Структура блока параметров диска (DPB) служит для идентификации физического и логического форматов логического диска, а загрузчик system bootstrap играет существенную роль в процессе загрузки DOS. Эта информационная структура приведена в табл. 4.5.
Первые два байта boot record занимает JMP – команда безусловного перехода в программу SB. Третий байт содержит код 90Н (NOP – нет операции). Далее располагается восьмибайтовый системный идентификатор, включающий информацию о фирме-разработчике и версии операционной системы. Затем следует DPB, a после него – SB.
Таблица 4.5. Структура загрузочной записи Boot Record для FAT16
Смещение поля, байт | Длина поля, байт | Обозначение поля | Содержимое поля |
00Н(0) | JUMP 3EH | Безусловный переход на начало SB | |
0ЗН(З) | Системный идентификатор | ||
0ВН(11) | SectSize | Размер сектора, байт | |
0DH (13) | ClastSize | Число секторов в кластере | |
0ЕН (14) | ResSecs | Число зарезервированных секторов | |
10Н (16) | FATcnt | Число копий FAT | |
11Н (17) | RootSize | Максимальное число элементов Rdir | |
13Н (19) | TotSecs | Число секторов на логическом диске, если его размер не превышает 32 Мбайт, иначе 0000Н | |
15Н (21) | Media | Дескриптор носителя | |
16Н (22) | FATsize | Размер FAT, секторов | |
18Н (24) | TrkSecs | Число секторов на дорожке | |
1АН (26) | HeadCnt | Число рабочих поверхностей | |
1СН (28) | HidnSecs | Число скрытых секторов | |
20Н (32) | Число секторов на логическом диске, если его размер превышает 32 Мбайт | ||
24Н (36) | Тип логического диска (00Н – гибкий, 80Н – жесткий) | ||
25Н (37) | Пусто (резерв) | ||
26Н (38) | Маркер с кодом 29Н | ||
27Н (39) | Серийный номер тома | ||
2ВН (43) | Метка тома | ||
36Н(54) | Имя файловой системы | ||
3ЕН (62) | System bootstrap | ||
1FEH(510) | Сигнатура (слово АА55Н) |
Для работы с загрузочной записью удобно использовать широко известную утилиту Disk Editor из комплекта утилит Питера Нортона. Эта утилита снабжена встроенной системой подсказок и необходимой справочной информацией. Используя её, можно сохранять, модифицировать и восстанавливать загрузочную запись, а также выполнять много других операций. Достаточно подробно работа с этой утилитой описана в книге [9].
Таблица 4.6. Структура загрузочной записи boot record для FAT32
Смещение поля, байт | Длина поля, байт | Обозначение поля | Содержимое поля |
00Н (0) | JUMP ЗЕН | Безусловный переход на начало SB | |
03Н (3) | Системный идентификатор | ||
0ВН (11) | SectSize | Размер сектора, байт | |
0DH (13) | ClastSize | Число секторов в кластере | |
0ЕН (14) | ResSecs | Число зарезервированных секторов, для FAT32 равно 32 | |
10Н (16) | FATcnt | Число копий FAT | |
11Н(17) | RootSize | 0000Н | |
13Н (19) | TotSecs | 0000H | |
15Н(21) | Media | Дескриптор носителя | |
16Н (22) | FATsize | 0000Н | |
18Н (24) | TrkSecs | Число секторов на дорожке | |
1АН (26) | HeadCnt | Число рабочих поверхностей | |
1СН(28) | HidnSecs | Число скрытых секторов (располагаются перед загрузочным сектором). Используется при загрузке для вычисления абсолютного смещения корневого каталога и данных | |
20Н(32) | Число секторов на логическом диске | ||
24Н(36) | Число секторов в таблице FAT | ||
28Н(37) | Расширенные флаги | ||
2АН (38) | Версия файловой системы | ||
2СН (39) | Номер кластера для первого кластера корневого Каталога | ||
34Н(43) | Номер сектора с резервной копией загрузочного Сектора | ||
36Н (54) | Зарезервировано |
Загрузочные записи других операционных систем отличаются от рассмотренной. Так, например, в загрузочном секторе для тома с FAT32 в блоке DPB содержатся дополнительные поля, а те поля, что находятся в привычном для системы FAT16 месте, перенесены. Поэтому ОС, в которой имеется возможность работать с файловой системой FAT16, но нет системы управления файлами, понимающей спецификации FAT32, не может читать данные с томов, отформатированных под файловую систему FAT32. В загрузочном секторе для файловой системы FAT32 по-прежнему байты 00Н по 0АН содержат команду перехода и OEM ID, а в байтах 0ВН по 59Н содержатся данные блока DPB. Отличие заключается именно в несколько другой структуре блока DPB; его содержимое приведено1 в табл. 4.6.
Дата добавления: 2022-02-05; просмотров: 269;