.png)
当我希望 Linux 在不重新启动的情况下考虑新创建的分区时,我有几个可用的工具来强制刷新内核“分区缓存”:
partx -va /dev/sdX
kpartx -va /dev/sdX
hdparm -z /dev/sdX
blockdev --rereadpt /dev/sdX
sfdisk -R /dev/sdX
(已弃用)partprobe /dev/sdX
- ...
我不确定这些技术之间的区别,但我认为它们不使用相同的ioctl
、喜欢BLKRRPART
或BLKPG
。所以,那些有什么区别ioctl
?
答案1
BLKRRPART
告诉内核重新读取分区表。man 4 sd
和BLKPG
可以根据需要创建、添加、删除分区(从内核,当然不是在磁盘上)。您必须告诉内核各个分区的偏移量和大小,这意味着您必须事先自己解析分区表。看Linux内核:/include/uapi/linux/blkpg.h
我个人使用partprobe
(分手的一部分),它使用后一种方法,可能是为了支持内核不支持的分区表。