Главная загрузочная запись

Разберем структуру диска подробно. Будем пользоваться методом адресации CHS, т.е. будем рассматривать физический диск как набор секторов, каждый из которых адресуется при помощи трех координат: цилиндр, головка, сектор. Отметим, что для цилиндров и головок нумерация начинается с 0, а секторов начиная от 1, то есть первый сектор физического диска имеет адрес 0-0-1.

Так как расположение первого сектора не зависит от конкретной геометрии диска (контроллер находит первый сектор сразу), именно его удобно использовать для записи информации о разделах находящихся на диске.

Итак, первый сектор жёсткого диска (сектор 1, головка 0, дорожка 0) содержит так называемую главную загрузочную запись (Master Boot Record = MBR). В начале этого сектора расположена программа начальной загрузки – IPL1 (Initial Program Loading 1), необходимая для распознавания логических разделов диска. Другое название IPL1– начальный загрузчик. За загрузчиком в этом же первом секторе записана Таблица Разделов (Partition Table, PT), описывающая схему разбиения логических дисков. Во время выполнения загрузки компьютера программа начальной загрузки сканирует и анализирует таблицу разделов диска. Именно эта таблица и содержит информацию, позволяющую системе представить физический диск как несколько логических.

Таблица разделов состоит из четырех записей – структур размером 16 байт, соответствующих частям диска, называемых разделами. Если на вашем компьютере имеется только один логический диск в таблице разделов будет присутствовать только одна первая запись, более сложные случае рассмотрим дальше. В каждой записи таблицы располагается информация о соответствующем разделе:

- типе раздела (NTFS, FAT16, FAT32...),

- активности раздела (т.е. можно ли загружать с него операционную систему),

- расположении раздела т.е. адресов его начала и конца (информация о расположении присутствует в двух системах: CHS (координаты начала и конца) и LBA (начало и длина)),

- количестве секторов в разделе.

Рассмотрим формат записи таблицы разделов более подробно (см. таблицу 2)

Таблица 2 Элементы таблицы разделов

Размер (байт) Описание
Признак активного раздела (Boot Indicator):
адрес начала раздела (CHS) Номер головки для первого сектора раздела
Номер начального сектора раздела
Номер начального цилиндра раздела
Код, идентификатор системы (Boot ID) системы
адрес конца раздела (CHS) Номер головки для последнего сектора раздела
Номер последнего сектора раздела
Номер последнего цилиндра раздела
Относительный номер первого сектора раздела, т.е. адрес начала раздела в LBA
Размер раздела в секторах

Прокомментируем части структуры таблицы разделов

1. Признак активного раздела (Boot Indicator) или маркер начальной загрузки – отмечает активный раздел т.е.логический диск, который может быть использован для загрузки операционной системы. Признак активного раздела занимает один байт, который может иметь два значения:

- 00h — раздел неактивный,

- 80h — раздел активен.

Программа IPL1 просматривает таблицу разделов и находит активный раздел. Если активных разделов несколько, на консоль выводится сообщение о необходимости выбора активного раздела для продолжения загрузки.



Физический диск может содержать одновременно несколько активных разделов, которые могут принадлежать различным операционным системам.

2. В поле начало раздела хранятся номера головки, сектора и цилиндра стартового сектора цилиндра (Starting Head, Starting Sector, Starting Cylinder). Обычно разделы начинаются с первого сектора дорожки.

3. Поле код или идентификатор системы (Boot ID) указывает тип раздела, т.е. код в этом поле указывает, какой именно операционной системе и файловой системе —FAT16, FAT32 или NTFS — принадлежит данный раздел, а также позволяет узнать некоторые характеристики файловой системы. Кроме того, данное поле показывает, существует ли на диске расширенный раздел (extended partition). Возможные значения поля System ID показаны в табл. 3.

Таблица 3. Коды типов файловых систем файловых систем (System ID)

Идентификатор системы Вид раздела Пояснения
01h основной Первичный раздел или логический диск FAT12.
03h Раздел CP/M (в настояшее время не используется)
04h Раздел Xenix
основной Раздел или логический диск FAT16. (16–32 Мбайт)
05h расширенный Расширенный раздел
06h основной Раздел или логический диск BIGDOS FAT16.
07h основной Раздел или логический диск NTFS. Installable File System
0Bh основной Раздел FAT32 или логический диск
0Ch расширенный Раздел FAT32 или логический диск с использованием расширений BIOS INT 13h (512 Мбайт – 2 Тбайт)
0Eh основной Раздел BIGDOS FAT16 или логический диск с использованием расширений BIOS INT 13h
0Fh расширенный Расширенный раздел, использующий расширения BIOS INT 13h
12h основной EISA-раздел
42h основной Том динамического диска (Windows 2000 и старше)

Если коду системы в элементе таблицы раздела соответствует вид раздела «основной», это означает, что раздел используется операционной системой в качестве первичного раздела (Primary Partition). Первичный раздел используется операционной системой как логический диск. Первый логический диск (первичный раздел) обычно является активным и из него выполняется загрузка операционной системы.

Если в элементе таблицы разделов байт кода системы имеет значение, соответствующее виду раздела «расширенный», то раздел, указанный в этом элементе будет раздел использоваться как расширенный раздел (Еxtended partition). В начале расширенного раздела располагается сектор, содержащий таблицу логических дисков. Фактически эта таблица является расширением таблицы разделов диска, расположенной в самом первом секторе физического диска. Таблица логических дисков имеет формат, аналогичный таблице разделов диска, но имеет только два элемента. Подробно это будет рассмотрено ниже.

Если в поле кода раздела записан 0, то описатель считается пустым, то есть он не определяет на диске никакого раздела.

4. В поле конец раздела – соответствующие номера (головки, сектора и цилиндра) для конечного сектора данного раздела (Ending Head, и Ending Sector, Ending Cylinder).

5. Относительный номер первого сектора раздела (Relative Sectors) – это число, которое показывает позицию раздела, т.е. адрес начала раздела в режиме LBA. Такой способ адресации используется современных версиях Windows с файловыми системами NTFS и FAT32.

6. Поле размер раздела в секторах (Total Sectors) указывает общее число секторов в томе. Используется в режиме адресации LBA.

При использовании стандартного размера сектора (512 байт) и 32-битового представления числа секторов максимальный объем раздела ограничивается числом 2 Тбайт (или 2 199 023 255 552 байт).


3424824010355437.html
3424877389244374.html

3424824010355437.html
3424877389244374.html
    PR.RU™