O comando mount
mapeará apenas um dispositivo por vez, então, qualquer que seja o método escolhido, você deverá chamar o mount para cada partição.
/proc/partitions
fornecerá uma lista do que foi detectado:
# cat /proc/partitions
major minor #blocks name
8 0 1465138584 sda
8 1 1465134488 sda1
8 32 1465138584 sdc
8 33 1465134488 sdc1
8 16 1465138584 sdb
8 17 1465134488 sdb1
8 48 1465138584 sdd
8 49 1465134488 sdd1
8 64 156290904 sde
8 65 96358 sde1
8 66 4000185 sde2
8 67 1 sde3
8 69 2000061 sde5
8 70 14996646 sde6
8 71 135197527 sde7
Aqui é onde fdisk -l
obtém sua informação. Você poderia usar isso para fazer algo como:
awk '$4 ~ /^sda[0-9]+/{print $4}' /proc/partitions | while read dev; do
if findmnt /dev/$dev >/dev/null; then
echo "/dev/$dev is already mounted. Skipping."
continue
elif findmnt /media/$dev >/dev/null; then
echo "/media/$dev is already a mount point. Skipping /dev/$dev."
continue
fi
mount /dev/$dev /media/$dev
done