La taille du secteur d'un appareil n'est pas stockée dans le MBR.
Commandes de l'espace utilisateur telles que fdisk
utilisez le BLKBSZGET
et BLKSSZGET
ioctl
s pour récupérer les tailles de secteur des disques. Ces ioctl
Les s sont gérés par des pilotes dans le noyau, qui récupèrent les informations pertinentes à partir des lecteurs eux-mêmes.
(Il n'y a pas beaucoup de documentation sur le ioctl
pertinent s ; vous devez vérifier le code source du noyau.)
Vous pouvez voir les informations pertinentes à l'aide d'autres outils qui interrogent directement les lecteurs, par exemple hdparm
. Sur un petit SSD, hdparm -I
me dit
[...]
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
[...]
Sur un grand disque en rotation avec des secteurs de 4K, j'obtiens à la place
[...]
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
[...]
Il y a quelques questions là-dedans, j'ai essayé de trouver la réponse à "Où fdisk trouve-t-il la taille de secteur d'un disque?" Le mieux que j'ai trouvé est qu'il obtient les informations de ioctl
.
ioctl
infos sur Wikipédia et page de manuel Linux.
lien du code source fdisk