当我运行fdisk并更改分区的大小时,fdisk在其输出末尾说:
The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8)
我想这样做而不必重新引导(然后编写一个脚本来执行此操作)如何使用kpartx正确执行此操作?我试过了:
kpartx -f -v /dev/mmcblk0
哪个输出:
mmcblk0p1 : 0 102400 /dev/mmcblk0 2048
mmcblk0p2 : 0 7657472 /dev/mmcblk0 104448
和:
kpartx -a -v /dev/mmcblk0
输出:
device-mapper: reload ioctl on mmcblk0p1 failed: Invalid argument
create/reload failed on mmcblk0p1
add map mmcblk0p1 (0:0): 0 102400 linear /dev/mmcblk0 2048
device-mapper: reload ioctl on mmcblk0p2 failed: Invalid argument
create/reload failed on mmcblk0p2
add map mmcblk0p2 (0:0): 0 7657472 linear /dev/mmcblk0 104448
这是用于运行debian的raspi中的SD卡的。
编辑:澄清我要做什么;我正在从SD卡中删除未使用的p3,并调整p2的大小以填充卡。该卡当前包含一个小的引导分区p1,操作系统位于其中。
SD卡当前正在使用吗?(例如,它上面有已挂载的文件系统吗?)
—
derobert 2014年
@derobert,是的。它有2个分区:一个小的引导分区和一个较大的主分区,大部分操作系统都位于该分区中。我只是想扩展第二个分区以填充卡。
—
章鱼
我很确定这就是答案,你不能。除非不使用设备,否则内核不会重新读取分区表...
—
derobert 2014年
有
—
吉尔斯(Gilles)'“ SO-不要邪恶”
partprobe
帮助吗?