Se você tiver grub
instalado, execute os-prober
como root. Faz exatamente o que você quer.
Atualizar
os-prober
listará apenas os sistemas operacionais diferentes do que está: é usado pelo GRUB durante a instalação para gerar grub.cfg
, por isso é natural que o GRUB não precise de informações sobre o sistema operacional em que está sendo instalado. Para obter a partição montada como a atual /
, você pode fazer isso:
ROOT_PARTITION="$(readlink -e -- "$(findmnt /|awk 'END{print $2}')")"
Isso falhará no caso improvável de a partição montada como /
ter um espaço em seu nome.