Estaba buscando una manera de actualizar el bus scsi (o cualquier otro bus, para el caso) que permitiera que mi kernel (2.6.18-194-el5 en CentOS 5.5) supiera sobre las particiones en una unidad, y no pude No encuentro el camino. partprobe lo hizo al instante. ¿Cómo?
Como es importante, esto es lo que estaba haciendo:
Quería practicar un poco en cosas específicas de la partición, como cambiar el tamaño, hacer una copia de seguridad del MBR y restaurarlo, y así sucesivamente. Había creado una partición de 20GB en / dev / sdb, hice una copia de seguridad del MBR:
dd if = / dev / sdb of = sdb.mbr bs = 512 cuenta = 1
luego entré en fdisk, eliminé la partición, la escribí y salí.
ls / dev / sdb *
mostró que no había partición, y
fdisk -l / dev / sdb '
coincidía, así que pensé que era bueno.
Luego invertí el dd:
dd if = sdb.mbr of = / dev / sdb bs = 512 cuenta = 1
Por supuesto, no hice nada en ese momento, así que
ls / dev / sdb *
no enumeró ninguna partición, pero
fdisk -l
mostró la partición, presumiblemente porque lee los primeros 512 bytes en el disco y no depende del núcleo. Sabía que tendría que actualizar el autobús, así que entré en / sys / class / scsi_host / host1, e hice
echo "- - -"> escanear
y haciendo
ls / dev / sdb
no mostró nada nuevo, así que fui a / sys / bus / scsi / devices y para cada uno de los dispositivos enumerados, hice
echo 1> reescanear
Y eso no funcionó.
Luego investigué más sobre el problema y encontré 'partprobe', que viene con parted. Lo ejecuté y funcionó al instante.
Si no obtengo una respuesta probable aquí, probablemente iré a buscar la fuente y buscarla, pero creo que hay magos aquí más allá de mí, así que pensé en apelar a todos ustedes.