Lorsque je veux que Linux considère les partitions nouvellement créées sans redémarrer, j'ai plusieurs outils disponibles pour forcer une actualisation du "cache de partition" du noyau:
partx -va /dev/sdX
kpartx -va /dev/sdX
hdparm -z /dev/sdX
sfdisk -R /dev/sdX
- ...
Je ne suis pas sûr de la différence entre ces techniques, mais je pense qu'elles n'utilisent pas la même chose ioctl
, comme BLKRRPART
ou BLKPG
. Alors, quelle est la différence entre ceux-ci ioctl
?
kpartx
est dérivé departx
,sfdisk
est un autre outil d'édition de partition.hdparm
est pour d'autres utilisations, mais a également un moyen de lire la table de partition dans le noyau. Si vous avez vraiment besoin de le savoir, regardez le code source.Réponses:
BLKRRPART
indique au noyau de relire la table de partition.man 4 sd
Avec
BLKPG
vous pouvez créer, ajouter, supprimer des partitions à votre guise (depuis le noyau, pas sur le disque bien sûr). Vous devez indiquer au noyau l'offset et la taille de la partition individuelle, ce qui implique que vous devez avoir préalablement analysé la table de partition. Voir le noyau Linux:/include/uapi/linux/blkpg.h
J'utilise personnellement
partprobe
(une partie de parted) , qui utilise cette dernière approche, probablement pour prendre en charge les tables de partition non prises en charge par le noyau.la source