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