Cuando quiero que Linux considere las particiones recién creadas sin reiniciar, tengo varias herramientas disponibles para forzar una actualización de la "caché de partición" del núcleo:
partx -va /dev/sdX
kpartx -va /dev/sdX
hdparm -z /dev/sdX
sfdisk -R /dev/sdX
- ...
No estoy seguro de la diferencia entre estas técnicas, pero creo que no usan lo mismo ioctl
, como BLKRRPART
o BLKPG
. Entonces, ¿cuál es la diferencia entre esos ioctl
?
kpartx
se deriva departx
,sfdisk
es otra herramienta de edición de particiones.hdparm
es para otros usos, pero también tiene una forma de leer la tabla de particiones en el núcleo. Si realmente necesita saber, mire el código fuente.Respuestas:
BLKRRPART
le dice al núcleo que vuelva a leer la tabla de particiones.man 4 sd
Con
BLKPG
usted puede crear, agregar, eliminar particiones como desee (desde el núcleo, no en el disco, por supuesto). Debe decirle al kernel el desplazamiento y el tamaño de la partición individual, lo que implica que debe haber analizado la tabla de particiones de antemano. Ver kernel de Linux:/include/uapi/linux/blkpg.h
Yo personalmente uso
partprobe
(parte de parted) , que usa el último enfoque, probablemente para admitir tablas de particiones no admitidas por el kernel.fuente