OSDev Wiki
Advertisement

Таблица разделов — часть главной загрузочной записи (MBR), состоящая из четырёх записей по 16 байт. Каждая запись описывает один из разделов жёсткого диска. Первая запись находится по смещению 1BEh от начала сектора, содержащего MBR, каждая последующая запись вплотную примыкает к предыдущей.

Для создания на диске более 4 разделов используются расширеные разделы, позволяющие создать неограниченое количество логических дисков внутри себя.

Формат записи таблицы разделов[]

Смещение Размер Описание
0h 1 Признак активного раздела (0 — н

еактивный, 80h — активный)

1h 1 Номер поверхности (головки) диска, с которой начинается раздел
2h 2 Номера цилиндра и сектора, с которых начинается раздел
4h 1 Код типа раздела
5h 1 Номер поверхности (головки) диска, на которой заканчивается раздел
6h 2 Номера цилиндра и сектора, которыми заканчивается раздел
8h 4 Абсолютный номер начального сектора раздела
Ch 4 Число секторов в разделе

Адреса начала и конца раздела задаются в формате CHS, используемом традиционными функциями дискового сервиса BIOS, из-за чего номер цилиндра разорван на две части: старшие два бита хранятся в двух старших битах слова, отведённого под номера цилиндра и сектора; за ними следуют шесть бит номера сектора, а младшие восемь бит номера цилиндра занимают весь младший байт слова. Если задать корректный адрес с помощью формата CHS невозможно, все три байта полей начала и конца раздела должны содержать FFh.

32-разрядные номер первого сектора раздела и количество секторов в разделе, указанные в таблице разделов, позволяют использовать функции расширенного дискового сервиса, поддерживающие адресацию LBA; в этом случае 32-разрядный номер сектора является младшим двойным словом адреса в формате LBA, а старшее двойное слово будет равно нулю. Если число секторов в разделе превосходит FFFFFFFFh, то в поле длины указывается это значение. 32-разрядные номер и количество секторов позволяют работать с разделами ёмкостью до 2 Тбайт; для выхода за пределы этого ограничения применяется иная схема деления диска на разделы, основанная на GUID-таблице разделов (GPT).

Коды типов файловых систем[]

Код Вид раздела Размер раздела Файловая система
00h нет раздела
01h основной < 16 Мбайт FAT12
04h основной 16–32 Мбайт FAT16
05h расширенный до 2 Тбайт
06h основной 32 Мбайт – 2 Гбайт FAT16
07h основной 512 Мбайт – 2 Тбайт NTFS
0Bh основной 512 Мбайт – 2 Тбайт FAT32
0Ch основной 512 Мбайт – 2 Тбайт FAT32
0Eh основной 32 Мбайт – 2 Гбайт FAT16
0Fh расширенный 512 Мбайт – 2 Тбайт
EEh основной весь диск защитная запись UEFI
EFh основной ? файловая система UEFI
Advertisement