Структура завантажуючого запису dos.
Сектор, який містить завантажуючий запис, являється самим першимна логічному диску (на дискеті – має фізичний адрес [0-1-1]). Boot Record складається, як ми вже знаєм, з двух частин – disk parameter block (DPB) і system bootstrap (SB). Структура блоку параметрів диску (DPB) служить для ідентифікації фізичного і логічного форматів логічного диску, а загрузчик system bootstrap грає суттєву роль в процесі загрузки DOS. Ця інформаційна структура приведена в табл.4.5.
Таблиця 4.5. Структура завантажуючого запису Boot Record для FAT16
Зміщення поля, байт |
Довжина поля, байт |
Позначення поля |
Вміст поля |
00Н (0) |
з |
JUMP3EH |
Безумовний перехід на початок SB |
03Н (3) |
8 |
|
Системний iдентифікатор |
0ВН (11) |
2 |
SectSize |
Розмір сектора, байт |
0DН (13) |
1 |
ClastSize |
Число секторів в кластері |
0EН (14) |
2 |
ResSecs |
Число зарезервованих секторів |
10Н (16) |
1 |
FATcnt |
Число копій FAT |
11H(17) |
2 |
RootSize |
Максимальне число елементів Rdir |
13Н (19) |
2 |
TotSecs |
Число секторів на логічному диску, якщо його розмір не перевищує 32 Мбайт інакше ООООН |
15Н (21) |
1 |
Media |
Дескриптор носія __ |
16H (22) |
2 |
FATsize |
Розмір FAT, секторів |
18H (24) |
2 |
TrkSecs |
Число секторів на доріжці __ |
1AН (26) |
2 |
HcadCnt |
Число робочих поверхонь |
1СН (28) |
4 |
HidnSccs |
Число скритих секторів |
20Н (32) |
4 |
|
Число секторів на логічному диску, якщо його розмір перевищує 32 Мбайт |
24H (36) |
1 |
|
Тип логічного диску (ООН гнучкий, 80H -жорсткий) |
25H (37) |
1 |
|
Пусто (резерв) |
26 H (38) |
1 |
|
Маркер з кодом 29H |
27H (39) |
4 |
|
Серійний номер тому |
2BH(43) |
|
|
Мітка тому |
36Н (54) |
8 |
|
Ім‘я файлової системи |
3ЕН (62) |
|
|
System bootstrap |
1FEH(510) |
2 |
|
Сигнатура (слово АА55Н) |
Перші два байти boot record займає JMP — команда безумовного переходу в програму SB. Третій байт містить код 90Н (NOP — немає операції). Далі розташовується восьмибайтовый системний ідентифікатор, що включає інформацію про фірму-розроблювача і версію операційної системи. Потім слідує DPB, а після нього — SB.
Для роботи з завантажувальним записом зручно використовувати широко відому утиліту Disk Editor з комплекту утиліт Пітера Нортона. Ця утиліта забезпечена вбудованою системою підказок і необхідною довідковою інформацією. Використовуючи її, можна зберігати, модифікувати і відновлювати завантажувальний запис, а також виконувати багато інших операцій.
Завантажувальні записи інших операційних систем відрізняються від розглянутої. Так, наприклад, у завантажувальному секторі для тому з FAT32 у блоці DPB містяться додаткові поля, а ті поля, що знаходяться в звичному для системи FAT16 місці, перенесені. Тому ОС, у якій є можливість працювати з файловою системою FAT16, але немає системи керування файлами, що розуміє специфікації FAT32, не може читати дані з томів, відформатованих під файлову систему FAT32. У завантажувальному секторі для файлової системи FAT32 як і раніше байти 00Н по 0АН містять команду переходу і OEM ID, а в байтах 0ВН по 59Н містяться дані блоку DPB. Відмінність полягає саме в іншій структурі блоку DBP; його вміст приведений у табл. 4.6.
Таблиця 4.6. Структура завантажувального запису boot record для FAT32
Зміщення поля, байт |
Довжина поля, байт |
Позначення поля |
Вміст поля |
00H(0) |
3 |
JUMP 3EH |
Безумовний перехід на початок SB |
03H(3) |
8 |
|
Системний ідентифікатор |
0BH(11) |
2 |
SectSize |
Розмір сектора, байт |
0DH(13) |
1 |
ClastSize |
Число секторів в кластері |
0EH(14) |
2 |
ResSecs |
Число зарезервованих секторів, для FAT32 рівне 32 |
10H(16) |
1 |
FATent |
Число копій FAT |
11H(17) |
2 |
RootSize |
0000H |
13H(19) |
2 |
TotSecs |
0000H |
15H(21) |
1 |
Media |
Дескриптор носія |
16H(22) |
2 |
FATsize |
0000H |
18H(24) |
2 |
TrkSecs |
Число секторів на доріжці |
1AH(26) |
2 |
HeadCnt |
Число робочих поверхонь |
1CH(28) |
4 |
HidnSecs |
Число скритих секторів (розташовуються перед завантажуючим сектором). Використовується при завантажені для обчислення абсолютного зміщення кореневого каталогу і даних |
20H(32) |
4 |
|
Число секторів на логічному диску |
24H(36) |
4 |
|
Число секторів в таблиці FAT |
28H(37) |
2 |
|
Розширені флаги |
2AH(38) |
2 |
|
Версія файлової системи |
2CH(39) |
4 |
|
Номер кластера для першого кластера кореневого каталогу |
34H(43) |
2 |
|
Номер сектору з резервною копією завантажуючого сектора |
36H(54) |
12 |
|
Зарезервовано |