Linux

強制重讀分區表:BLKRRPART 和 BLKPG ioctl 的區別?(Linux)

  • February 18, 2021

當我希望 Linux 在不重新啟動的情況下考慮新創建的分區時,我有幾個工具可用於強制刷新核心“分區記憶體”:

  • partx -va /dev/sdX
  • kpartx -va /dev/sdX
  • hdparm -z /dev/sdX
  • sfdisk -R /dev/sdX
  • partprobe /dev/sdX

我不確定這些技術之間的區別,但我認為它們不使用相同的ioctl, likeBLKRRPARTBLKPG. 那麼,它們之間有什麼區別ioctl


BLKRRPART告訴核心重新讀取分區表。man 4 sd

BLKPG您可以隨意創建、添加、刪除分區(來自核心,當然不是在磁碟上)。您必須告訴核心各個分區的偏移量和大小,這意味著您必須事先自己解析過分區表。請參閱Linux 核心:/include/uapi/linux/blkpg.h

我個人使用partprobe(part of parted),它使用後一種方法,可能是為了支持核心不支持的分區表。

引用自:https://unix.stackexchange.com/questions/141476