No Debian, e provavelmente seus derivados, o script que manipula as desmontagens antes de interromper / reinicializar é /etc/init.d/umountfs .
Para mim, o script não possui umount dos sistemas de arquivos listados além de tmpfs . A razão é dada no seguinte comentário:
# Make sure tmpfs file systems are umounted before turning off
# swap, to avoid running out of memory if the tmpfs filesystems
# use a lot of space.
Devido à maturidade desses scripts, acho que essa é a melhor prática, embora possa ser uma boa ideia investigar o que outras distros fazem.
Também é possível que os comandos halt / reboot realmente precisem que algumas das montagens acima funcionem (provavelmente /proc , mas também /sys e /dev ) e o comando pode falhar sem eles .
Atualizar
Para adicionar um pouco mais sobre isso, o próximo script chamado depois de umountfs , antes do próprio script halt real é umountroot . Ao contrário do que o nome sugere, o script realmente remonta a raiz somente leitura. Observe a sintaxe real para isso:
mount $MOUNT_FORCE_OPT -n -o remount,ro -t dummytype dummydev / 2>/dev/null \
|| mount $MOUNT_FORCE_OPT -n -o remount,ro dummydev / 2>/dev/null \
|| mount $MOUNT_FORCE_OPT -n -o remount,ro /
Aparentemente, apenas um mount -no remount,ro / direto pode falhar se houver outros pontos de montagem vinculados à raiz. Veja este bug para uma discussão completa sobre isso. O MOUNT_FORCE_OPT é apenas definido para o FreeBSD, então isso não é necessário para o Linux.