La dimensione del settore di un dispositivo non viene memorizzata nell'MBR.
Comandi in spazio utente come fdisk
usa il BLKBSZGET
e BLKSSZGET
ioctl
s per recuperare le dimensioni dei settori dai dischi. Quei ioctl
s sono gestiti dai driver nel kernel, che recuperano le informazioni rilevanti dalle unità stesse.
(Non c'è molta documentazione sul relativo ioctl
S; devi controllare il codice sorgente del kernel.)
Puoi visualizzare le informazioni pertinenti utilizzando altri strumenti che interrogano direttamente i drive, ad esempio hdparm
. Su un piccolo SSD, hdparm -I
mi 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
[...]
Su un grande disco rotante con settori 4K, ottengo invece
[...]
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
[...]
Ci sono alcune domande lì dentro, ho provato a rintracciare la risposta a "Dove trova fdisk la dimensione del settore di un disco?" Il meglio che ho trovato è che ottiene le informazioni da ioctl
.
ioctl
informazioni su Wikipedia e sulla pagina man di Linux.
collegamento al codice sorgente di fdisk