Устройство таблицы разделов (partition table) на жёстком диске и ее восстановление

Первый сектор на жестком диске, используемом в обычном PC совместимом ПК, доступный в пользовательском диапазоне (LBA – 0) используется для хранения главной загрузочной записи (MBR – Master Boot Record) и таблицы разделов. Главная загрузочная запись – это исполняемый код, которому передается управление из BIOS, в задачи которого входит проанализировать таблицу разделов, выбрать активный раздел, произвести загрузку его загрузочного сектора, насколько возможно произвести его проверку на корректность и передать управление коду, содержащемуся там, либо выдать сообщение об ошибке.

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

СмещениеДлина(байт)Описание
0х0-Код загрузчика, на который передается управление из BIOS. Размер кода загрузчика различен в зависимости от ОС, записавшей его
0x1BE16Первая запись для описания раздела
0x1BE1признак активности раздела значение 0х80 – активен, 0х0 – неактивен
0x1BF3начало раздела в CHS (устарело)
0x1C21тип файловой системы (0х07 – NTFS, 0x0B – FAT32, 0x04 FAT16, 0X0F дополнительная таблица разделов)
0x1C33окончание раздела в CHS (устарело)
0x1C64смещение до начала раздела (в секторах)
0x1CA4размер раздела (в секторах)
0x1CE16Вторая запись для описания раздела
0x1DE16Третья запись для описания раздела
0x1EE16Четвертая запись для описания раздела
0x1FE2Сигнатура 0x55 0xAA (признак MBR, при ее отсутствии BIOS системной платы не передаст управление коду загрузчика ОС и выведет соответствующее сообщение об ошибке)

Нередки случаи, когда в результате действия вредоносного ПО, аппаратных и программных сбоев, ошибок пользователя содержимое таблицы разделов оказывается испорченным и, соответственно, пользователь сталкивается с ситуацией, что ОС не загружается, а при подключении данного жесткого диска к другому ПК не отображается ни один раздел, и в оснастке дисков все место числится свободным и неразмеченным.

В этих случаях рекомендуется воспользоваться дисковым редактором и проанализировать, что именно записано в таблице разделов. Если вместо кода загрузчика и таблицы разделов присутствуют некие иные данные, то рекомендованная операция – это очистка LBA 0. Далее произвести поиск загрузочных секторов разделов. При нахождении первого раздела проанализировать содержимое загрузочного сектора и вписать в первую запись таблицы тип файловой системы, начало раздела (номер сектора, где обнаружен загрузочный сектор раздела) и длину раздела (извлечь из загрузочного сектора). Далее к номеру сектора, от которого начинается первый раздел, прибавляем его длину и получаем номер сектора, на котором заканчивается раздел. С этого места продолжаем поиски дополнительной таблицы разделов, либо загрузочного сектора следующего раздела. Для раздела, содержащего ОС, обязательно ставим флаг активности (0х80).

Для того, чтобы описанные Вами разделы могли быть подключены в ОС, следует обязательно прописать маркер таблицы разделов по смещению 0x1FE (0x55, 0xAA).

Для того, чтобы можно было загрузить ранее установленную ОС Windows (2000, XP, Server 2003 и т.п.) Вам необходимо взять установочный диск с дистрибутивом ОС и загрузить консоль восстановления, из которой выполнить команду FIXMBR (которая заново запишет оригинальную MBR для установленной у Вас ОС).

Павел Янчарский

Перепечатка материалов разрешена только с указанием активной ссылки на оригинал статьи

Поделиться
|