df /
mostra em qual dispositivo de bloco o sistema de arquivos raiz está. Você pode analisar desta maneira:
root_device=$(df -P / | awk 'NR!=1 {print $1}')
Se você estiver usando partições de PC sem LVM ou RAID, o dispositivo raiz será /dev/hdZ9
ou /dev/sdZ9
, em que Z
é uma letra minúscula que designa o disco e 9
é um número que designa a partição . Você pode extrair a parte do disco desta maneira:
root_disk=${root_device#[0-9]}; root_disk=${root_disk#[0-9]}
A lista completa de discos e outros dispositivos de bloco está disponível em /sys/block
.
Cuidado com RAID, LVM, etc., isso pode ficar muito complicado. Seja qual for o seu programa, é improvável que funcione com configurações de hardware que você não tenha pensado. Portanto, certifique-se de implementar uma verificação completa de erros.