Como posso saber se meu sistema foi inicializado como EFI / UEFI ou BIOS?

96

Como posso determinar se um sistema Ubuntu em execução específico foi inicializado usando EFI / UEFI ou BIOS?

    
por Omega 11.07.2012 / 23:00

3 respostas

110

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
    
por Colin Ian King 12.07.2012 / 20:11
16
  

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

Exemplo de uso do script bash baseado no código de saída do grep :

...
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 .

    
por ish 11.07.2012 / 23:36
1

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)
    
por Shruti B 11.10.2015 / 11:18