¿Se puede obtener el tamaño del sector del disco a través de la API/ABI de Linux? Se trata de la cantidad de disco de E/S, normalmente es igual a 512 bytes, pero otros valores también pueden serlo (generalmente múltiples 512 bytes). Tampoco debe confundirse con el tamaño del bloque lógico o con el tamaño del sector de un sistema de archivos.
Un dispositivo de bloque se refleja como archivo en un sistema de archivos de UNIX (/dev/sda, /dev/sr, etc.) Es decir, puede abrir ese archivo y realizar algunas manipulaciones en su contenido como con el contenido del dispositivo de bloque correspondiente.
Específicamente, el trabajo en un dispositivo de bloque real es similar al trabajo de un disco duro virtual (el formato .vhd, por ejemplo). Pero no sé cómo obtener el tamaño del sector en el caso general. Por el momento, tengo una solución única: obtener la dirección CHS máxima y el tamaño del disco duro, ambas acciones a través del BIOS. Pero creo que es una mala idea, porque se perdió la portabilidad.