посмотри, как это делает fdisk. можешь пропарсить dmesg или в /proc пошариться grustnoe ★★ (10.01.04 16:29:29 MSK) Ссылка
hd_geometry g; ioctl(fd, HDIO_GETGEO, &g) Теперь: g.cylinders - цилиндры, g.heads - головки, g.sectors - сектора, g.start - старт. drish ★★ (10.01.04 16:48:06 MSK) Ссылка