¿Cómo determino si un sistema Ubuntu en ejecución en particular se inició con EFI / UEFI o BIOS?
¿Cómo determino si un sistema Ubuntu en ejecución en particular se inició con EFI / UEFI o BIOS?
Respuestas:
La forma más fácil es verificar si /sys/firmware/efi
existe. No aparece si arrancaste usando el BIOS tradicional.
#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
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
... 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 .
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.
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)