Aqui está o que eu encontrei para encontrar e montar todos os discos disponíveis. Este script também irá acompanhar todas as montagens com falha (que eu também precisei na minha situação, não fazem parte da pergunta, mas poderiam ser úteis para os outros).
Aqui, examino todas as partições em /proc/partitions
e tento montar cada partição que encontro. As partições LVM serão listadas neste arquivo, assim como após a verificação e ativação das mesmas.
# Scan for all volume groups
lvscan
# Activate all volume groups
vgchange -a y
# Get all partitions (-n+3 skips first 3 lines since they do not contain partitions)
# Also skip partitions that are loop devices which is actually the ISO cd itself
all_partitions=$(tail -n+3 /proc/partitions | awk '{print $4}' | grep -v loop)
# Array of failed mounts
declare -a failed_mounts=()
# Mount each partition to /mnt/{partition name}
for partition in ${all_partitions}; do
mountdir=/mnt/${partition}
mkdir -p ${mountdir}
mount /dev/${partition} ${mountdir} &>>${INIT_LOG}
if [ $? -ne 0 ]; then
echo "Failed to mount ${partition}"
rm -rf ${mountdir}
failed_mounts+=(${partition})
fi
done
Isso pode ou não depender da distro, mas como eu estou integrando isso em um live CD, ele não precisa ser independente de distro.