Linuxが再起動せずに新しく作成されたパーティションを検討するようにしたい場合、カーネルの「パーティションキャッシュ」を強制的に更新するためのツールがいくつかあります。
partx -va /dev/sdX
kpartx -va /dev/sdX
hdparm -z /dev/sdX
sfdisk -R /dev/sdX
これらの手法の違いはわかりませんが、ioctl
やBLKRRPART
のように同じBLKPG
を使用していないと思います。それで、それらのioctl
の違いは何ですか?
BLKRRPART
は、カーネルにパーティションテーブルを再度読み取るように指示します。 man 4 sd
BLKPG
を使用すると、パーティションを自由に作成、追加、削除できます(もちろん、ディスクではなくカーネルから)。個々のパーティションのオフセットとサイズをカーネルに通知する必要があります。これは、事前にパーティションテーブルを解析しておく必要があることを意味します。参照 Linuxカーネル:/include/uapi/linux/blkpg.h
私は個人的に partprobe
(partedの一部) を使用しています。これは、おそらくカーネルでサポートされていないパーティションテーブルをサポートするために、後者のアプローチを使用しています。