Linux
強制重讀分區表:BLKRRPART 和 BLKPG ioctl 的區別?(Linux)
當我希望 Linux 在不重新啟動的情況下考慮新創建的分區時,我有幾個工具可用於強制刷新核心“分區記憶體”:
partx -va /dev/sdX
kpartx -va /dev/sdX
hdparm -z /dev/sdX
sfdisk -R /dev/sdX
partprobe /dev/sdX
- …
我不確定這些技術之間的區別,但我認為它們不使用相同的
ioctl
, likeBLKRRPART
或BLKPG
. 那麼,它們之間有什麼區別ioctl
?
BLKRRPART
告訴核心重新讀取分區表。man 4 sd
BLKPG
您可以隨意創建、添加、刪除分區(來自核心,當然不是在磁碟上)。您必須告訴核心各個分區的偏移量和大小,這意味著您必須事先自己解析過分區表。請參閱Linux 核心:/include/uapi/linux/blkpg.h
我個人使用
partprobe
(part of parted),它使用後一種方法,可能是為了支持核心不支持的分區表。