ВУЗ:
Составители:
USHORT usSignature; // MBR сигнатура 0xaa55
}MBR, *PMBR;
#pragma pack()
void ReadMBR(void)
{
HANDLE hPhysicalDrive;
hPhysicalDrive = CreateFile("\\\\.\\PhysicalDrive0", GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, 0); // открываем устройство,
// представляющее первый жесткий диск
if(hPhysicalDrive != INVALID_HANDLE_VALUE)
{
MBR data;
DWORD dwBytesRead;
// Читаем 1-й сектор диска...
ReadFile(hPhysicalDrive, &data, 512, &dwBytesRead, NULL);
…
// закрываем устройство
CloseHandle(hPhysicalDrive);
}
}
Структура FAT16
Как нам уже известно, самый первый сектор логического диска занимает загру-
зочная запись (Boot Record). Для FAT16, кроме программы начальной загрузки
операционной системы, в загрузочной записи находятся параметры, описывающие
характеристики данного логического диска. Все эти параметры располагаются в
самом начале сектора, в его так называемой форматированной области. Формат
области показан в
таблице 4.
В самом начале загрузочной записи располагается команда внутрисегментного
перехода JMP. Она нужна для обхода форматированной зоны сектора и передачи
управления загрузочной программе, располагающейся со смещением (+62).
Название фирмы-производителя не используется операционной системой.
Поле со смещением (+38) всегда содержит символ ')'. Этот символ означает, что
используется формат расширенной загрузочной записи. До
MS-DOS 4.0 использо-
вался другой формат записи.
Серийный номер диска формируется во время форматирования диска на основе
даты и времени форматирования. Это поле может быть использовано для определе-
ния факта замены диска в дисководе.
Загрузочная запись Таблица 4
Страницы
- « первая
- ‹ предыдущая
- …
- 13
- 14
- 15
- 16
- 17
- …
- следующая ›
- последняя »