Les secteurs sont gérés par le contrôleur du disque, vous devez donc vérifier ce que le disque rapporte au système d'exploitation par le biais des différentes commandes d'interrogation (telles que SCSI READ CAPACITY).
La taille du secteur n'est pas accessible par les opérations normales de lecture/écriture, parce que... vous devez connaître la taille du secteur avant de pouvoir... numéro les opérations de lecture/écriture en premier lieu.
-
Sous Linux, vous pouvez utiliser lsblk -t
pour voir les paramètres de la topologie connus par le noyau ; les mêmes informations peuvent être récupérées soit directement dans les fichiers de la section /sys/class/block/sda/queue
ou via libudev (tous les fichiers sysfs sont des 'attributs' dans libudev).
-
Vous pouvez également vérifier fdisk -l
pour la ligne "Sector size" ; il utilise ioctl(BLKIOMIN), ioctl(BLKPBSZGET), et ioctl(BLKSSZGET) pour récupérer cette information du noyau.
-
L'approche la plus directe (et celle qui nécessite le plus de privilèges) consiste à envoyer vos propres commandes au disque, par exemple pour les disques SCSI et ATA sg_readcap
rapportera "Longueur du bloc logique" et "Exposant des blocs logiques par bloc physique".
Notez que certains adaptateurs USB-SATA envoient des informations erronées dans ces champs.