El tamaño de sector de un dispositivo no se almacena en el MBR.
Comandos de espacio de usuario como fdisk usa el BLKBSZGET y BLKSSZGET ioctl s para recuperar los tamaños de sector de los discos. Esos ioctl Los controladores en el kernel manejan los mensajes de correo electrónico y recuperan la información relevante de las propias unidades.
(No hay mucha documentación sobre el ioctl relevante s; necesita comprobar el código fuente del kernel.)
Puede ver la información relevante utilizando otras herramientas que consultan las unidades directamente, por ejemplo, hdparm . En un SSD pequeño, hdparm -I me dice
[...]
Logical Sector size: 512 bytes
Physical Sector size: 512 bytes
Logical Sector-0 offset: 0 bytes
[...]
cache/buffer size = unknown
Form Factor: 2.5 inch
Nominal Media Rotation Rate: Solid State Device
[...]
En un disco giratorio grande con sectores de 4K, obtengo en su lugar
[...]
Logical Sector size: 512 bytes
Physical Sector size: 4096 bytes
Logical Sector-0 offset: 0 bytes
[...]
cache/buffer size = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 5400
[...]
Hay algunas preguntas allí, traté de rastrear la respuesta a "¿Dónde encuentra fdisk el tamaño del sector de un disco?" Lo mejor que he encontrado es que obtiene la información de ioctl .
ioctl información en Wikipedia y la página de manual de Linux.
enlace del código fuente de fdisk