[Résolu] erreur sur EFI

fgland
Messages : 35
Inscription : 13 juin 2010, 17:43

[Résolu] erreur sur EFI

Message par fgland » 27 novembre 2018, 12:56

Bonjour,

après mise à jour du kernel, le poste n'a pas redémarré... en passant par F9 et choix du disque, cela démarre normalement.
Voulant régénérer grub, j'ai lancé la commande en utilisant l'autocomplétion pour ne pas faire d'erreur

Code : Tout sélectionner

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
et je me suis rendu compte qu'il n'y avait pas de grub.cfg
Redémarrage après création, il y a bien la liste des noyaux est bien là mais après validation on a

Code : Tout sélectionner

error: can't find command `linux16'
can't find command `initrd16'
Press any key to continue...
J'ai installé

Code : Tout sélectionner

yum install grub2-efi-modules
conseillé pour cette erreur mais cela n'a rien changé.
Le démarrage est possible mais un peu fastidieux.
Que me manque-t-il ?
Merci
Gérard
Dernière modification par fgland le 29 novembre 2018, 12:32, modifié 1 fois.

Beta-Pictoris
Messages : 993
Inscription : 07 janvier 2014, 21:48
Localisation : Angers, France

Re: erreur sur EFI

Message par Beta-Pictoris » 27 novembre 2018, 19:57

Que donne ?

Code : Tout sélectionner

efibootmgr -v
lsblk -f

fgland
Messages : 35
Inscription : 13 juin 2010, 17:43

Re: erreur sur EFI

Message par fgland » 28 novembre 2018, 09:23

Code : Tout sélectionner

[root@localhost ~]# efibootmgr -v
EFI variables are not supported on this system.
[root@localhost ~]# lsblk -f
NAME   FSTYPE LABEL UUID                                 MOUNTPOINT
sda                                                      
├─sda1 ext4         e7e37eea-dcb6-4b39-af7a-24513f737336 /home
├─sda2 ext4         e3d1030b-8546-4bef-86c7-369fc8c9b59f /
├─sda3 swap         f84960c7-6437-42ad-ae31-7475f4c455b6 [SWAP]
├─sda4                                                   
└─sda5 vfat         F837-644A                            /boot/efi

Code : Tout sélectionner

# uname -a
Linux localhost.localdomain 3.10.0-862.14.4.el7.x86_64 #1 SMP Wed Sep 26 15:12:11 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
voici le contenu de /boot/efi/EFI/centos/

Code : Tout sélectionner

ls -l /boot/efi/EFI/centos/
total 7336
-rwx------ 1 root root     134 24 août  17:20 BOOT.CSV
-rwx------ 1 root root     134 24 août  17:20 BOOTX64.CSV
drwx------ 2 root root    4096 13 mars   2018 fonts
-rwx------ 1 root root    6045 26 nov.  17:28 grub.cfg
-rwx------ 1 root root    1024 25 nov.  11:00 grubenv
-rwx------ 1 root root 1051520 21 oct.   2017 grubx64.efi
-rwx------ 1 root root 1261312 24 août  17:20 mmx64.efi
-rwx------ 1 root root 1261312 24 août  17:20 MokManager.efi
-rwx------ 1 root root 1302920 24 août  17:20 shim.efi
-rwx------ 1 root root 1296776 24 août  17:20 shimx64-centos.efi
-rwx------ 1 root root 1302920 24 août  17:20 shimx64.efi
Y a-t-il une commande pour connaître le mode boot utilisé : bios ou EFI car en passant par la sélection du disque, je boot peut-être en bios /boot/grub2/ semble contenir tout ce qu'il faut pour cela. Cela expliquerait le non support de EFI variables. Il n'y a pas eu de modification au niveau du bios et le démarrage ne posait aucun problème avant la mise à jour.

Code : Tout sélectionner

# ls -l /boot/grub2/
-rw-rw-r--. 1 root root    84 10 mars   2018 device.map
drwxr-xr-x. 2 root root  4096 10 mars   2018 fonts
-rw-rw-r--  1 root root  5871 25 nov.  11:00 grub.cfg
lrwxrwxrwx. 1 root root    28 13 mars   2018 grubenv -> /boot/efi/EFI/centos/grubenv
drwxr-xr-x. 2 root root 12288 10 mars   2018 i386-pc
drwxr-xr-x. 2 root root  4096 10 mars   2018 locale
Merci

Beta-Pictoris
Messages : 993
Inscription : 07 janvier 2014, 21:48
Localisation : Angers, France

Re: erreur sur EFI

Message par Beta-Pictoris » 28 novembre 2018, 20:13

Exact, tu démarres son système en mode legacy, pas en mode uefi.
C'est le bios de ton PC qui définit comment booter (uefi/legacy). Certains bios supportent les 2 modes en même temps.
Si tu passes par le menu de boot du bios, tu dois forcer le boot sur le fichier grubx64.efi ou shimx64.efi (secure boot), via l'explorateur de partition ESP.
Désactive le mode legacy dans ton bios pour voir. Ou donne lui une priorité inférieure au mode uefi si c'est possible.

Pour booter en uefi, tu as besoin d'une table de partition en GPT et d'une partition ESP, formatée en fat16/fat32 , contenant les fichiers *.efi.
Le drapeau de boot esp doit être activé sur cette partition.
Tu peux vérifier tout ça avec le commande suivante, à lancer en root:

Code : Tout sélectionner

parted /dev/sda print

fgland
Messages : 35
Inscription : 13 juin 2010, 17:43

Re: erreur sur EFI

Message par fgland » 29 novembre 2018, 09:46

le démarrage par défaut est en efi mais je tombe sur l'erreur signalée en #1.
Je ne vois pas comment corriger maintenant puisque je ne peux démarrer qu'en bios...
La solution serait de forcer le démarrage en bios mais je suis à plus de 2000 Km de la machine !
en cherchant un peu, mon grub.cfg indique

Code : Tout sélectionner

...
        linux16 /boot/vmlinuz-3.10.0-862.14.4.el7.x86_64 root=UUID=e3d1030b-8546-4bef-86c7-369fc8c9b59f ro rhgb quiet 
        initrd16 /boot/initramfs-3.10.0-862.14.4.el7.x86_64.img
...
alors que sur un boot efi il y a

Code : Tout sélectionner

...
        linuxefi /boot/vmlinuz-3.10.0-862.14.4.el7.x86_64 root=UUID=e3d1030b-8546-4bef-86c7-369fc8c9b59f ro rhgb quiet 
        initrdefi /boot/initramfs-3.10.0-862.14.4.el7.x86_64.img
...
je modifie manuellement une des entrées et on verra au prochain démarrage...
Merci
Gérard

fgland
Messages : 35
Inscription : 13 juin 2010, 17:43

Re: erreur sur EFI

Message par fgland » 29 novembre 2018, 12:29

J'ai pu faire le test
correction de linux16 en linuxefi
et tout démarre bien.

pour résumer mon problème :
La mise à jour du noyau n'a pas été complète, /boot/efi/EFI/centos/grub.cfg a été effacé mais pas recréé.
Redémarrage en mode bios, la régénération de /boot/efi/EFI/centos/grub.cfg était défectueuse à cause du mode de boot.
Correction manuel de /boot/efi/EFI/centos/grub.cfg pour démarrer en EFI
régénération de /boot/efi/EFI/centos/grub.cfg qui cette fois-ci est bon

seule différence, après le choix du noyau, 4 tux(s) s'affichent mais cela ne change rien au démarrage.

J'ignorais qu'une carte mère puisse se connecter sur les deux modes sans modification du bios.
Même démarré en EFI, la commande dmidecode me retourne son résultat.

Un grand merci pour les pistes
Gérard

Répondre