Поля элемента таблицы раздела диска
Расскажем подробнее о некоторых полях элемента таблицы раздела диска.
Байт со смещением 0, как мы уже говорили, является флагом активного раздела и может принимать одно из двух значений - 0 или 80h, соответственно, для неактивного и активного разделов диска.
Слово, имеющее размер 2 байта и расположенное со смещением 8, содержит относительный номер первого сектора раздела. Как он вычисляется?
Значение 0 соответствует дорожке 0, головке 0, сектору 1. При увеличении относительного номера сектора вначале увеличивается номер сектора на дорожке, затем номер головки , и, наконец, номер дорожки. Для вычисления относительного номера сектора можно использовать следующую формулу:
RelSect = (Cyl * Sect * Head) + (Head * Sect) + (Sect -1)
В этой формуле Cyl - номер дорожки, Sect - номер сектора на дорожке, Head - номер головки .
Замечание относительно границ разделов диска: обычно разделы начинаются с четных номеров дорожек, за исключением самого первого раздела. Этот раздел может начинаться с сектора 2 нулевой дорожки (головка 0), так как самый первый сектор диска занят главной загрузочной записью.
Байт со смещением 4 - это код системы, использующей раздел диска. Для MS-DOS зарезервированы значения 0, 1, 4, 5.
Значение 0 соответствует свободному разделу диска.