Структура завантажуючого запису 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) | Системний iдентифікатор | ||
0ВН (11) | SectSize | Розмір сектора, байт | |
0DН (13) | ClastSize | Число секторів в кластері | |
0EН (14) | ResSecs | Число зарезервованих секторів | |
10Н (16) | FATcnt | Число копій FAT | |
11H(17) | RootSize | Максимальне число елементів Rdir | |
13Н (19) | TotSecs | Число секторів на логічному диску, якщо його розмір не перевищує 32 Мбайт інакше ООООН | |
15Н (21) | Media | Дескриптор носія __ | |
16H (22) | FATsize | Розмір FAT, секторів | |
18H (24) | TrkSecs | Число секторів на доріжці __ | |
1AН (26) | HcadCnt | Число робочих поверхонь | |
1СН (28) | HidnSccs | Число скритих секторів | |
20Н (32) | Число секторів на логічному диску, якщо його розмір перевищує 32 Мбайт | ||
24H (36) | Тип логічного диску(ООН гнучкий, 80H -орсткий) | ||
25H (37) | Пусто (резерв) | ||
26 H (38) | Маркер з кодом 29H | ||
27H (39) | Серійний номер тому | ||
2BH(43) | Мітка тому | ||
36Н (54) | Ім‘я файлової системи | ||
3ЕН (62) | System bootstrap | ||
1FEH(510) | Сигнатура (слово АА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) | JUMP 3EH | Безумовний перехід на початок SB | |
03H(3) | Системний ідентифікатор | ||
0BH(11) | SectSize | Розмір сектора, байт | |
0DH(13) | ClastSize | Число секторів в кластері | |
0EH(14) | ResSecs | Число зарезервованих секторів, для FAT32 рівне 32 | |
10H(16) | FATent | Число копій FAT | |
11H(17) | RootSize | 0000H | |
13H(19) | TotSecs | 0000H | |
15H(21) | Media | Дескриптор носія | |
16H(22) | FATsize | 0000H | |
18H(24) | TrkSecs | Число секторів на доріжці | |
1AH(26) | HeadCnt | Число робочих поверхонь | |
1CH(28) | HidnSecs | Число скритих секторів (розташовуються перед завантажуючим сектором). Використовується при завантажені для обчислення абсолютного зміщення кореневого каталогу і даних | |
20H(32) | Число секторів на логічному диску | ||
24H(36) | Число секторів в таблиці FAT | ||
28H(37) | Розширені флаги | ||
2AH(38) | Версія файлової системи | ||
2CH(39) | Номер кластера для першого кластера кореневого каталогу | ||
34H(43) | Номер сектору з резервною копією завантажуючого сектора | ||
36H(54) | Зарезервовано |
Дата добавления: 2016-07-27; просмотров: 1432;