A maneira mais fácil é verificar se /sys/firmware/efi
existe. Ele não aparece se você inicializou usando o BIOS tradicional.
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
Como posso determinar se um sistema Ubuntu em execução específico foi inicializado usando EFI / UEFI ou BIOS?
A maneira mais fácil é verificar se /sys/firmware/efi
existe. Ele não aparece se você inicializou usando o BIOS tradicional.
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
Depreciado
A resposta abaixo é um método que nem sempre funciona.
Em vez disso, use a resposta de Colin com base em/sys/firmware/efi
.
É muito fácil saber se um sistema foi inicializado no EFI (ou não, caso em que deve ser o BIOS):
Use apenas dmesg | grep "EFI v"
Isso retornará uma linha como essa, se o sistema foi inicializado do EFI:
[ 0.000000] EFI v2.00 by American Megatrends
Ou não retorne nada se não foi, neste caso foi inicializado da BIOS
... dmesg | grep -q "EFI v" # -q tell grep to output nothing if [ $? -eq 0 ] # check exit code; if 0 EFI, else BIOS then echo "You are using EFI boot." else echo "You are using BIOS boot" fi ...
Fonte: Para saber como determinar se um sistema EFI está usando emulação legacy-BIOS ou não, bem como mais informações sobre testes de compatibilidade EFI e EFI, além das strings de vários fornecedores / versões EFI, consulte esta página do Ubuntu Developer Summit for Precise .
Código Python para verificar se o sistema foi inicializado com UEFI ou ROM BIOS:
import os,sys def main(): if(os.path.exists("/sys/firmware/efi")): print"\n\n System is booted with uefi!" else: print"\n\n System is booted with rom bios" main() sys.exit(0)
Tags command-line boot uefi bios