Операционные системы. Учебное пособие. Марапулец Ю.В. - 127 стр.

UptoLike

Составители: 

MBR является основным средством загрузки с жесткого диска, поддерживаемым
BIOS. В MBR находятся три важных элемента:
программа начальной загрузки (non-system bootstrap). Именно она запускается BIOS
после успешной загрузки в память первого сектора с MBR. Она, очевидно, не пре-
вышает 512 байт и ее хватает только на то, чтобы загрузить следующую, чуть более
сложную программу, обычно - стартовый сектор операционной системы и передать
ему управление;
таблица описания разделов диска (partition table). Располагается в MBR по смеще-
нию 0x1BE и занимает 64 байта;
сигнатура MBR. Последние два байта MBR должны содержать число AA55h. По на-
личию этой сигнатуры BIOS проверяет, что первый блок был загружен успешно.
Использование такой сигнатуры выбрано не случайно. Ее успешная проверка позво-
ляет установить, что все линии передачи данных могут передавать и нули, и едини-
цы.
Таблица partition table описывает размещение и характеристики имеющихся на
винчестере разделов. Можно сказать, что эта таблица разделов - одна из наиболее важ-
ных структур данных на жестком диске. Если эта таблица повреждена, то не только не
будет загружаться операционная система (или одна из операционных систем, установ-
ленных на винчестере), но перестанут быть доступными и данные, расположенные на
винчестере, особенно если жесткий диск был разбит на несколько разделов. Упрощенно
структура MBR представлена в таблице 5.1 [2].
Таблица 5.1
Смещение (Off-
set)
Размер (Sise)
(байт)
Содержимое (Contents)
0 446 Программа анализа Partition Table и загрузки System
Bootstrap с активного раздела жесткого диска
+1BEh 16 Partition 1 entry (Описатель раздела)
+1CEh 16 Partition 2 entry
+1DEh 16 Partition 3 entry
+1EEh 16 Partition 3 entry
+1FEh 16 Сигнатура (АА55h)
Из таблицы видно, что в начале этого сектора располагается программа анализа
таблицы разделов и чтения первого сектора из активного раздела диска. Сама таблица
partition table располагается в конце MBR, и для описания каждого раздела в этой табли-
це отводится по 16 байтов. Первым байтом в элементе раздела идет флаг активности
раздела boot indicator (0 - не активен, 128 (80Н) - активен). Он служит для определения,
является ли раздел системным загрузочным и есть ли необходимость производить за-
грузку операционной системы с него при старте компьютера. Активным может быть
только один раздел. За флагом активности раздела следует байт номера головки, с кото-
рой начинается раздел. За ним следует два байта, означающие соответственно номер
сектора и номер цилиндра загрузочного сектора, где располагается первый сектор за-
грузчика операционной системы. Затем следует кодовый идентификатор System ID
(длиной в один байт), указывающий на принадлежность данного раздела к той или иной
операционной системе и установке на нем соответствующей файловой системы. В табл.
5.2 приведены некоторые (наиболее известные) идентификаторы [2].
129
     MBR является основным средством загрузки с жесткого диска, поддерживаемым
BIOS. В MBR находятся три важных элемента:
• программа начальной загрузки (non-system bootstrap). Именно она запускается BIOS
    после успешной загрузки в память первого сектора с MBR. Она, очевидно, не пре-
    вышает 512 байт и ее хватает только на то, чтобы загрузить следующую, чуть более
    сложную программу, обычно - стартовый сектор операционной системы и передать
    ему управление;
• таблица описания разделов диска (partition table). Располагается в MBR по смеще-
    нию 0x1BE и занимает 64 байта;
• сигнатура MBR. Последние два байта MBR должны содержать число AA55h. По на-
    личию этой сигнатуры BIOS проверяет, что первый блок был загружен успешно.
    Использование такой сигнатуры выбрано не случайно. Ее успешная проверка позво-
    ляет установить, что все линии передачи данных могут передавать и нули, и едини-
    цы.
     Таблица partition table описывает размещение и характеристики имеющихся на
винчестере разделов. Можно сказать, что эта таблица разделов - одна из наиболее важ-
ных структур данных на жестком диске. Если эта таблица повреждена, то не только не
будет загружаться операционная система (или одна из операционных систем, установ-
ленных на винчестере), но перестанут быть доступными и данные, расположенные на
винчестере, особенно если жесткий диск был разбит на несколько разделов. Упрощенно
структура MBR представлена в таблице 5.1 [2].
                                                                         Таблица 5.1
 Смещение (Off- Размер (Sise)                   Содержимое (Contents)
       set)          (байт)
        0             446       Программа анализа Partition Table и загрузки System
                                Bootstrap с активного раздела жесткого диска
     +1BEh             16       Partition 1 entry (Описатель раздела)
     +1CEh             16       Partition 2 entry
     +1DEh             16       Partition 3 entry
     +1EEh             16       Partition 3 entry
     +1FEh             16       Сигнатура (АА55h)

       Из таблицы видно, что в начале этого сектора располагается программа анализа
таблицы разделов и чтения первого сектора из активного раздела диска. Сама таблица
partition table располагается в конце MBR, и для описания каждого раздела в этой табли-
це отводится по 16 байтов. Первым байтом в элементе раздела идет флаг активности
раздела boot indicator (0 - не активен, 128 (80Н) - активен). Он служит для определения,
является ли раздел системным загрузочным и есть ли необходимость производить за-
грузку операционной системы с него при старте компьютера. Активным может быть
только один раздел. За флагом активности раздела следует байт номера головки, с кото-
рой начинается раздел. За ним следует два байта, означающие соответственно номер
сектора и номер цилиндра загрузочного сектора, где располагается первый сектор за-
грузчика операционной системы. Затем следует кодовый идентификатор System ID
(длиной в один байт), указывающий на принадлежность данного раздела к той или иной
операционной системе и установке на нем соответствующей файловой системы. В табл.
5.2 приведены некоторые (наиболее известные) идентификаторы [2].




                                           129