Esta é essencialmente uma questão de verificar uma mala inteira de casos de canto.
- Uma unidade pode aparecer em / proc / montagens
- Um drive pode ser usado como swap (use / proc / swaps)
- Um drive pode fazer parte de um LVM ativo (use o pvdisplay)
- Uma unidade pode fazer parte de um grupo de RAID dm-mapper (use / proc / mdstat)
- Uma unidade pode ser acessada diretamente por um aplicativo (por exemplo, o Oracle suporta a gravação direta em uma unidade ou partição em vez de um sistema de arquivos) (usar fusor)
- Uma unidade pode ser acessada diretamente por uma máquina virtual (use fuser)
- Uma unidade pode ser referenciada por um dispositivo de loopback (por exemplo:
mount /dev/sda -o offset=1M /foo
) (use losetup -a)
Estes são apenas os exemplos que me deram um minuto e meio para pensar nisso. Tenho certeza que há uma dúzia de outros.
Este último exemplo eu acho que é o mais interessante e poucas pessoas sabem disso. Ele permite que você monte um sistema de arquivos sem usar partições. Basta especificar o offset inicial e o Linux criará de forma transparente um dispositivo de loopback. O exemplo acima produz o seguinte:
# cat /proc/mounts
...
/dev/loop0 /foo ext4 relatime,data=ordered 0 0
# losetup -a
/dev/loop0 [0005]:2048 (/dev/sda), offset 1048576
Por que você faria isso? Normalmente, envolve situações em que as coisas já correram terrivelmente mal.
Lembre-se também que, com o recurso de namespace agora na linha principal (consulte unshare ), diferentes processos podem ter visões diferentes sobre o que está montado e o que não está. Aqui as coisas começam a ficar um pouquinho vermelhas.