web-dev-qa-db-fra.com

Comment savoir si mon système a été démarré en tant que EFI / UEFI ou BIOS?

Comment déterminer si un système Ubuntu en cours d'exécution particulier a été démarré à l'aide de EFI/UEFI ou du BIOS?

118
Omega

Le moyen le plus simple est de vérifier si /sys/firmware/efi existe. Il n'apparaît pas si vous avez démarré avec le BIOS traditionnel.

#!/bin/bash
[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
130
Colin Ian King

Obsolète

La réponse ci-dessous est une méthode qui peut ne pas toujours fonctionner.
À la place, utilisez réponse de Colin sur la base de /sys/firmware/efi.


Il est très facile de dire si un système a été démarré dans EFI (ou non, auquel cas il doit être le BIOS):

Il suffit d'utiliser dmesg | grep "EFI v"

  • Cela retournera une ligne comme celle-ci, si le système a été démarré depuis EFI:

    [0.000000] EFI v2.00 par American Megatrends
  • Ou ne retourne rien si ce n'était pas le cas, auquel cas il a été démarré à partir du BIOS

Exemple d'utilisation du script bash basé sur le code de sortie de grep :

 ... 
 dmesg | grep -q "EFI v" # -q dit à grep de ne rien afficher 
 si [$? -eq 0] # vérifier le code de sortie; si 0 EFI, sinon BIOS 
 puis 
 echo "Vous utilisez le démarrage EFI." 
 sinon 
 echo "Vous utilisez le démarrage du BIOS" 
 Fi
...

Source: Pour savoir si un système EFI utilise une émulation BIOS héritée ou non, ainsi que pour plus d'informations sur les tests de compatibilité EFI et EFI, ainsi que les chaînes d'un certain nombre de fournisseurs/versions d'EFI, veuillez consulter cette page du Sommet des développeurs Ubuntu pour Precise .

16
ish

Code Python pour vérifier si le système est démarré avec UEFI ou ROM BIOS:

 import os, sys 
 def main (): 
 if (os.path.exists ("/ sys/firmware/efi")): 
 print "\n\n Le système est démarré avec uefi! "
 sinon: 
 print"\n\n Le système est démarré avec rom bios "
 main () 
 sys .exit (0)
0
Shruti B