¿Cómo puedo saber si mi sistema se inició como EFI / UEFI o BIOS?


Respuestas:



16

Obsoleto

La respuesta a continuación es un método que no siempre funciona.
En su lugar, use la respuesta de Colin basada en /sys/firmware/efi.


Es muy fácil saber si un sistema se inició en EFI (o no, en cuyo caso debe ser BIOS):

Solo usa dmesg | grep "EFI v"

  • Esto devolverá una línea como esta, si el sistema se arrancó desde EFI:

    [0.000000] EFI v2.00 por American Megatrends
  • O no devuelva nada si no fuera así, en cuyo caso se arrancó desde BIOS

Ejemplo de uso de script bash basado en el código de salida de grep :

...
dmesg | grep -q "EFI v" # -q decirle a grep que no muestre nada
si [$? -eq 0] # comprobar el código de salida; si 0 EFI, si no BIOS
entonces
    echo "Estás utilizando el arranque EFI".
  más
    echo "Estás utilizando el arranque del BIOS"
fi
...

Fuente: para saber si un sistema EFI está utilizando la emulación de BIOS heredada o no, así como más información sobre las pruebas de compatibilidad con EFI y EFI, junto con las cadenas de varios proveedores / versiones de EFI, consulte esta página en la Cumbre de desarrolladores de Ubuntu para Precise .


2
Yo simplificaría eso a if dmesg | grep -Fq "EFI v"; then .... No tiene sentido ejecutar el [comando además, solo para probar el éxito / fracaso. $?es principalmente útil para verificar errores específicos.
geirha

3
Esto es frágil, ya que no hay garantía de que la cadena buscada sea generada por la característica deseada.
Thorbjørn Ravn Andersen

1
@izx, cualquier script puede escribir "EFI v" como parte de otra cosa. Si eso sucede en una máquina BIOS, esto sería un falso positivo.
Thorbjørn Ravn Andersen

2
Lo mejor es no buscar texto en el registro del kernel, está sujeto a cambios. Lo mejor es mirar / sys / firmware / efi
Colin Ian King

1
Sin embargo, me gustaría mencionar que esta es una excelente manera de obtener la versión EFI.
Omega

0

Código de Python para verificar si el sistema se inicia con UEFI o ROM BIOS:

import os, sys
def main ():
    if (os.path.exists ("/ sys / firmware / efi")):
        print "\ n \ n ¡El sistema se arranca con uefi!"
    más:
        print "\ n \ n El sistema se inicia con la BIOS de rom"
principal()
sys.exit (0)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.