Um sistema pode ter um firmware UEFI e ainda inicializar o SO no modo legacy BIOS. Nessa situação, não há como o SO inicializar determinar se o hardware é realmente capaz de usar UEFI, porque o BIOS não é compatível com o UEFI.
Você ainda pode consultar a interface do firmware se algo estiver relacionado ao UEFI, mas isso é específico do fornecedor e inconsistente. Portanto, também não há resposta definitiva desse lado.
O método canônico para provar que seu kernel x86 (_64) é inicializado a partir do UEFI:
$ dmesg | grep 'EFI v'
[ 0.000000] efi: EFI v2.31 by EDK II
O kernel irá imprimir tal mensagem em o ponto de entrada principal da inicialização do EFI. O kernel é inicializado com UEFI se e somente se tal mensagem existir.
Outras informações informativas:
$ dmesg | grep 'efi: mem'
[ 0.000000] efi: mem00: type=7, attr=0xf, range=[0x0000000000000000-0x00000000000a0000) (0MB)
...
Este é o mapa de memória passado do firmware EFI para o kernel.
$ ls -F /sys/firmware/efi
efivars/ systab vars/
Estas são ABI do kernel relacionadas à EFI. efivars
(3.8+) e vars
são ABI do kernel para o EFI NVRAM, portanto você pode alterar as opções de inicialização com eles.
Mas a falta dessas pistas não prova que o sistema é apenas BIOS.
Empiricamente, laptops recentes têm firmware UEFI. Os servidores mais recentes estão migrando para o firmware UEFI.
Editar: O autor do rEFInd tem uma explicação mais completa . Os passos são os mesmos.
Além disso, o Firmware Test Suite do Ubuntu pode detectar se o firmware UEFI tem um