2 bons можешь обяснить дураку... пишу подобную программу (я про mbr)
ну получил я разобрал таблицу разделов посмотрел смещение сектора secBegin расширеного раздела.... делаю так (ибо у тебя не понял как, пытаюсь разобратся)
ну если передавать смешение активного раздела правильно показывает... а пытаюсь подать смещение расширеного фигню показывает... чето там мне говорили типа надо + смещение mbr... в общем как выполняется переход по расширеным разделам этим? (
сначала надо разобрать главную mbr, смещение расширенного раздела запомнить.(допустим это будет extended_addr). По этому смещению(относительно начала диска) будет расположена следующая mbr (вторичная). Таблица разделов в ней содержит 2 элемента - смещение логического диска (относительно extended_addr) и смещение следующей mbr (тоже относительно extended_addr). В следующей mbr точно также два элемента и все смещения там указаны относительно extended_addr. Так устроена цепочка mbr, в конце цепочки смещение следующего mbr будет 0.
Во всех таблицах смещения указаны в секторах, а ты с ними обращаешься так как будто это байты. Для всех жестких дисков размер сектора 512 байт, для некоторых флешек он другой