Comment savoir si je démarre avec UEFI?


54

Je cherchais, mais je n'ai pas trouvé de moyen évident de savoir si GRUB utilise UEFI au démarrage du système, dans le mode de compatibilité du BIOS ou dans un BIOS à part entière. Je n'ai trouvé que des méthodes Windows . Existe-t-il quelque chose dans les journaux de démarrage du noyau ou de GRUB indiquant si j'utilise UEFI, EFI ou le BIOS?


Vous n’avez pas le temps de chercher la réponse, mais j’ai fait beaucoup de dépannage pour l’UEFI récemment aussi. Ce site est très utile pour comprendre l’UEFI. rodsbooks.com/refind/index.html
0xSheepdog

1
Je ne veux pas paraître malin, mais que veut faire le firmware de la machine?
ericx

1
@ericx cette question est sous prétexte que vous n'avez aucune idée de la façon de la vérifier. C'est pourquoi toutes les solutions peuvent être apportées sur un système démarré.
Braiam

Réponses:


34

Si vous avez démarré à l'aide du microprogramme UEFI au lieu d'utiliser le microprogramme du BIOS, votre système doit rendre les variables EFI NVRAM disponibles dans:

/sys/firmware/efi/vars/

ou

/sys/firmware/efi/efivars/

Lors du démarrage à l'aide d'un BIOS (ou du mode d'émulation de BIOS du microprogramme UEFI), ces variables ne sont pas disponibles.

En fait, comme l'a souligné @ Santropedro, le chemin

/sys/firmware/efi

est manquant lors du démarrage à l'aide d'un BIOS, ce qui est plus facile à vérifier.


+1 pour une méthode beaucoup plus rapide et qui va droit au but, plutôt que de dépendre d'une chaîne particulière générée par le microprogramme ou de packages supplémentaires susceptibles de ne pas être directement pertinents pour le démarrage actuel.
underscore_d

3
Que signifie "variables non disponibles"? C’est suffisant de vérifier qu’il n’ya pas de dossier dans: / sys / firmware / appelé "efi"?
Santropedro

@ Santropedro - il semble que ce soit le cas. Je vais éditer le post. Je vous remercie.
garethTheRed

42

Première méthode:

Ok, j'ai démarré ma boîte UEFI pour vérifier. Premier indice, près du sommet de dmesg. Cela ne devrait pas apparaître si vous êtes démarré via le BIOS:

[    0.000000] efi: EFI v2.31 by American Megatrends
[    0.000000] efi:  ACPI=0xd8769000  ACPI 2.0=0xd8769000  SMBIOS=0xd96d4a98 
[    0.000000] efi: mem00: type=6, attr=0x800000000000000f, range=[0x0000000000000000-0x0000000000001000) (0MB)
⋮


Deuxième méthode:

$ sudo efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000
Boot0000* debian

Si vous ne l'êtes pas, les éléments suivants doivent apparaître:

$ sudo efibootmgr        

EFI variables are not supported on this system.

Notez que le paquet efibootmgr devra être installé. Vous pouvez également essayer de lister les variables EFI:

$ efivar -l 
... over 100 lines of output ...


Troisième méthode:

Vérifiez si vous avez un /boot/efi:

$ df -h --local | grep /boot
/dev/sda2       229M   31M  187M  14% /boot
/dev/sda1       120M  250K  119M   1% /boot/efi

À l'intérieur de cette partition doivent figurer les fichiers exécutés par UEFI.

Si vous utilisez l'une de ces méthodes, les entrées correspondantes n'apparaissent pas. Il est fort probable que vous n'utilisiez pas UEFI.


6
/boot/efine contient que quelques répertoires /bootet le reste sont des packages installés - tous existeraient probablement sur un système installé en mode UEFI, mais démarrant maintenant avec le module de prise en charge de la compatibilité. Pourtant, le premier est assez sûr… Vous pouvez désactiver le montage des efivarfs avec une sorte d’option paranoïaque.
mikeserv

@mikeserv /boot/efiest un point de montage que je ne suis pas sûr besoins à monter , même si la nature du firmware. alors oui, la simple présence d’un dossier d’espaces réservés ne signifie pas grand-chose, et même s’il y a un contenu, celui-ci peut ne pas être utilisé pour le moment.
underscore_d

1
Cette solution (90 votes positifs) parle /sys/firmware/efid’un indicateur fiable ... askubuntu.com/a/162896/479118 - alors peut-être, qui est plus fiable?
Frank Nocke
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.