Page 1 sur 1

[Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument [résolu]

Publié : sam. 25 août 2018, 23:28
par mello
Bonjour à tous.

Je viens vers vous pour la première fois car ça fait maintenant quelques jours que je cherche à installer grub sur mon installation arch_linux toute fraiche: sans succès.

Laptop: Lenovo Thinkpad T470s.
J'ai bien démarré en mode UEFI.
Table de Partition: GPT sur /dev/nvme0n1.
Partitions et montage:
/dev/nvme0n1p1 -> /boot/efi -- 600M
/dev/nvme0n1p2 -> / -- 40G
/dev/nvme0n1p3 -> /home -- 150G

L'installation se passe donc à la perfection jusqu'à l'installation du bootloader :

Input:

Code : Tout sélectionner

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
Output:

Code : Tout sélectionner

Installing for x86_64-efi platform.
Could not prepare Boot variable: Invalid argument
Installation finished. No error reported.
Je lance donc la même commande avec un --debug ce qui me renvoie beaucoup de ligne sans problème sauf la dernière:

Code : Tout sélectionner

grub-install: info: executing efibootmgr -c -d /dev/nvme0n1 -p 1 -w -L arch_grub -l \EFI\arch_grub\grubx64.efi.
Could not prepare Boot variable: Invalid argument
Installation finished. No error reported.
Version efibootmgr : 16.1
Version efivar : 35.1

output pour "efibootmgr -v":

Code : Tout sélectionner

BootOrder: 001B, 0019 ...
Boot0000*   HD(...
...
...
Boot0023* ...
aucune output pour "efivar pkgver".

Bien évidemment même après avoir lancé :

Code : Tout sélectionner

grub-mkconfig -o /boot/grub/grub.cfg
, le système ne reboot pas.

J'ai également essayé de lancer efibootmgr avec cette version "efibootmgr-0.11.0-1-x86_64" d'après ce vieux bug https://bugs.archlinux.org/task/45472 : sans succès, efibootmgr me renvoyait ici une erreur comme quoi il ne trouvait pas libefivar.0.so.

Je cherche je me renseigne mais la je sèche, votre aide me serait d'une grande utilité.

Merci d'avance et à bientôt j'espère.

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 01:45
par waitnsea
mello a écrit : sam. 25 août 2018, 23:28 je cherche à installer grub sur mon installation arch_linux toute fraiche: sans succès.

Laptop: Lenovo Thinkpad T470s.
J'ai bien démarré en mode UEFI.
Table de Partition: GPT sur /dev/nvme0n1.
Partitions et montage:
/dev/nvme0n1p1 -> /boot/efi -- 600M
/dev/nvme0n1p2 -> / -- 40G
/dev/nvme0n1p3 -> /home -- 150G
Bonjour,
Tu fais un dual-boot Arch/Windows ou tu avais un disque vierge pour Arch seul ?
Peux-tu donner le retour complet de :

Code : Tout sélectionner

# blkid
# less /etc/fstab
# efibootmgr

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 09:09
par mello
Tout d'abord merci de cette réponse rapide.

J'ai effectivement oublié de préciser que j'install uniquement linux, sans Windows. De plus j'ai déjà eu des distribution linux sur ce PC ex: Debian mais en bios legacy/MBR car debian ne parvenait pas non plus a installer grub en mode UEFI / GPT. J'ai donc changé ma table de partition avec parted et ajouté ces trois partitions. Ce sont les seuls partitions que j'ai créées.

Avant les output j'aii égaement oublié de préciser que j'avais fais de ma partition /boot/efi une partition bootable avec parted sur /dev/nvme0n1p1:

Code : Tout sélectionner

set 1 boot on
output blkid :

Code : Tout sélectionner

/dev/nvme0n1p1: UUID="A008-D13D" TYPE="vfat" PARTUUID="bc6b26e4-35c4-4739-ac52-d34ffc759d9b"
/dev/nvme0n1p2: UUID="46fa688f-56a7-4c18-a2be-2e9c3c448d27" TYPE="ext4" PARTUUID="227fd8e6-479b-4628-aa9b-e554ed2ea296"
/dev/nvme0n1p3: UUID="9ea6fba8-8941-443f-86ef-026f1611c52f" TYPE="ext4" PARTUUID="a8371a67-e7a3-4a91-8a09-2526fbfb5051"
/dev/sda1: UUID="2018-08-01-16-56-00-00" LABEL="ARCH_201808" TYPE="iso9660" PTUUID="6392e4b0" PTTYPE="dos" PARTUUID="6392e4b0-01"
/dev/sda2: SEC_TYPE="msdos" LABEL="ARCHISO_EFI" UUID="5F6A-991B" TYPE="vfat" PARTUUID="6392e4b0-02"
/dev/loop0: TYPE="squashfs"
/dev/sdc1: LABEL="My Passport" UUID="74349B2E349AF27A" TYPE="ntfs" PTTYPE="atari" PARTLABEL="My Passport" PARTUUID="628a0bd7-24b5-4dd0-ae98-108f406dd99c"
/dev/nvme0n1: PTUUID="5af5739e-b93a-45bf-9d6c-a9804418a2fd" PTTYPE="gpt"
output cat /etc/fstab :

Code : Tout sélectionner

# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/nvme0n1p2
UUID=46fa688f-56a7-4c18-a2be-2e9c3c448d27	/         	ext4      	rw,relatime	0 1

# /dev/nvme0n1p1
UUID=A008-D13D      	/boot/efi 	vfat      	rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro	0 2

# /dev/nvme0n1p3
UUID=9ea6fba8-8941-443f-86ef-026f1611c52f	/home     	ext4      	rw,relatime	0 2
output efibootmgr :

Code : Tout sélectionner

BootCurrent: 001B
Timeout: 2 seconds
BootOrder: 001B,0019,0001,0002,0003,0000,0018,001A,0017,001C,001D,001E,0023
Boot0000* 
Boot0001  ubuntu
Boot0002  ubuntu
Boot0003  ubuntu
Boot0010  Setup
Boot0011  Boot Menu
Boot0012  Diagnostic Splash Screen
Boot0013  Lenovo Diagnostics
Boot0014  Startup Interrupt Menu
Boot0015  Rescue and Recovery
Boot0016  MEBx Hot Key
Boot0017* USB CD
Boot0018* USB FDD
Boot0019* NVMe0
Boot001A* ATA HDD0
Boot001B* USB HDD
Boot001C* PCI LAN
Boot001D  Other CD
Boot001E  Other HDD
Boot001F* IDER BOOT CDROM
Boot0020* IDER BOOT Floppy
Boot0021* ATA HDD
Boot0022* ATAPI CD
Boot0023* PCI LAN
Avec blkid je vois que ma clé bootable contenant le programme d'installation Arch-linux a une table de partition DOS, est-ce normal ou me suis-je trompé d'iso et cela devrait être une table de partition GPT?

Bon dimanche :)

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 12:10
par waitnsea
mello a écrit : dim. 26 août 2018, 09:09 Avec blkid je vois que ma clé bootable contenant le programme d'installation Arch-linux a une table de partition DOS, est-ce normal ou me suis-je trompé d'iso et cela devrait être une table de partition GPT?
Il n'est pas possible de faire une installation UEFI depuis une clef démarrée de son MBR (ne me demande pas pourquoi ! :roll: )
Donc pour l'installation il faut une clef "gravée" par dd (ou équivalent : Etcher , Suse-imagewriter)

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 12:26
par mello
Ah je vois merci beaucoup pour ton aide !

Je test ça dans l'aprem.

Ce qui reste étrange est que j'ai bien utilisé dd mais depuis un mac en suivant cette page wiki https://wiki.archlinux.org/index.php/US ... tion_media, sais-tu pourquoi la table de partition de la clé est en MBR après ça ? Je n'ai pas d'autre système Unix à disposition. Il est également écris dans ce tuto que je peux utiliser Rufus. J'essaye donc avec Rufus et je reviens vous dire ça a fonctionné.

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 13:09
par waitnsea
mello a écrit : dim. 26 août 2018, 12:26 j'ai bien utilisé dd mais depuis un mac en suivant cette page wiki https://wiki.archlinux.org/index.php/US ... tion_media, sais-tu pourquoi la table de partition de la clé est en MBR après ça ? Je n'ai pas d'autre système Unix à disposition. Il est également écris dans ce tuto que je peux utiliser Rufus. J'essaye donc avec Rufus et je reviens vous dire ça a fonctionné.
La commande Unix dd fonctionne de la même façon sur BSD/Mac ou Linux !
Voici le retour de mon blkid pour ma clef de "secours":

Code : Tout sélectionner

/dev/sde1: UUID="2018-08-03-02-39-29-00" LABEL="ARCH_201808" TYPE="iso9660" PTUUID="33093561" PTTYPE="dos" PARTUUID="33093561-01"
/dev/sde2: SEC_TYPE="msdos" LABEL="ARCHISO_EFI" UUID="023D-49A7" TYPE="vfat" PARTUUID="33093561-02"
et le retour de # fdisk -l :

Code : Tout sélectionner

Disque /dev/sde : 1,9 GiB, 2005745664 octets, 3917472 secteurs
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 512 octets
taille d'E/S (minimale / optimale) : 512 octets / 512 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x33093561

Périphérique Amorçage Début     Fin Secteurs Taille Id Type
/dev/sde1    *            0 1179647  1179648   576M  0 Vide
/dev/sde2               164  131235   131072    64M ef EFI (FAT-12/16/32)
Savoir si ta clef est en GPT sera plutôt donné par # gdisk /dev/sdX :

Code : Tout sélectionner

 gdisk /dev/sde
GPT fdisk (gdisk) version 1.0.4

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: present
  ...
échapper et q pour quitter...

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 13:12
par waitnsea
Ton problème pourrait-il ressembler à celui-ci ?
ou encore ici et ici

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 14:00
par mello
waitnsea a écrit : dim. 26 août 2018, 13:09 Savoir si ta clef est en GPT sera plutôt donné par # gdisk /dev/sdX :

Code : Tout sélectionner

 gdisk /dev/sde
GPT fdisk (gdisk) version 1.0.4

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: present
  ...
échapper et q pour quitter...
A ce niveau la j'ai la même output que toi. Je suppose donc que ma clé a bien une table de partition GPT. Le problème viendrait d'ailleurs.

Pour ce lien viewtopic.php?t=17037 Le problème a été fix depuis la version efivar-0.21-1 comme l'indique ce lien.
Pour ce lien https://bugs.debian.org/cgi-bin/bugrepo ... bug=845023, je ne pense pas que se soit un problème similaire au mien car il traite sur ce probleme

Code : Tout sélectionner

efibootmgr: Could not prepare Boot variable: No space left on device
tandis que moi j'ai

Code : Tout sélectionner

efibootmgr: Could not prepare Boot variable: Invalid argument.
Enfin le dernier lien https://bbs.archlinux.org/viewtopic.php?id=199276 ne correspond, à mon avis, pas non plus car son problème vient de l'argument "-u" de efibootmgr or la commande que je lance "grub-install ...", il lance "efibootmgr" sans l'argument -u.

Je ne sais plus trop par où chercher, si tu as d'autres propositions je suis preneur.

Merci encore pour le temps que tu me consacre.

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 15:19
par CoudUr
Salut mello,
mello a écrit :De plus j'ai déjà eu des distribution linux sur ce PC ex: Debian mais en bios legacy/MBR car debian ne parvenait pas non plus a installer grub en mode UEFI / GPT
Étant donné que tu as déjà rencontré cette difficulté durant l'installation de Debian je me demande si cela ne serait pas causé par autre chose comme par exemple :
_ une option bloquante dans ton Bios genre SecureBoot ou CSM(je ne suis pas certain que soit un obstacle mais des fois), forcer le démarrage en UEFI uniquement.
_ un mauvais flag de ta partition /boot/efi (ça devrait être ESP).
_ l’absence d' efivars lors de l'installation du grub (à vérifier avec un mount | grep efivars).

UEFI est un joyeux dédale de facteurs qui s'additionnent ça n'est pas évident quand ça ne veut pas :/

Après si tu as un doute bien qu'ayant déjà essayé avec Debian fais un essai avec une distro 'moderne facile à installer' (il n'y a rien de péjoratif) genre Fedora/Ubuntu/Manjaro/Opensuse, si elles s'installent correctement en UEFI c'est que ton souci vient de ta préparation à l'installation (partitionnement, formatage, point de montage ou autre qui sait).

Allez courage .

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 16:08
par mello
Bonjour CoudUr,

Pour les trois points donnés rien a signalé :
- Secure boot est desactivé
- le flag de ma partition boot est bien esp (boot, esp)
- et mount | grep efivars me renvoi

Code : Tout sélectionner

efivars on /sys/firmware/efi/efivars type efivars (rw,nosuid,nodev,noexec,relativetime)
J'aurai bien aimé comprendre pourquoi ça ne fonctionne pas, mais ça ne relève surement pas de mon niveau actuel. Je vais donc suivre ton conseil et tenter d'installer fedora, garder uniquement la partition de boot si ca fonctionne et installer arch en ignorant la dernière étape qui est le bootloader. J'espère ne pas trop dire de bêtise, je ne sais pas encore si c'est possible mais je verrai bien par moi-même :).

Merci CoudUr et waitnsea de m'avoir consacré autant de temps.

Je vous tiens au courant pour l'installation avec fedora. :D

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 16:59
par waitnsea
mello a écrit : dim. 26 août 2018, 16:08 Bonjour CoudUr,

Pour les trois points donnés rien a signalé :
- Secure boot est desactivé
- le flag de ma partition boot est bien esp (boot, esp)
- et mount | grep efivars me renvoi

Code : Tout sélectionner

efivars on /sys/firmware/efi/efivars type efivars (rw,nosuid,nodev,noexec,relativetime)
J'aurai bien aimé comprendre pourquoi ça ne fonctionne pas, mais ça ne relève surement pas de mon niveau actuel. Je vais donc suivre ton conseil et tenter d'installer fedora, garder uniquement la partition de boot si ca fonctionne et installer arch en ignorant la dernière étape qui est le bootloader. J'espère ne pas trop dire de bêtise, je ne sais pas encore si c'est possible mais je verrai bien par moi-même :).

Merci CoudUr et waitnsea de m'avoir consacré autant de temps.

Je vous tiens au courant pour l'installation avec fedora. :D
Tu peux (dois ?) te mettre dans le Setup du "Bios" et virer toutes les entrées inutiles déjà

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : dim. 26 août 2018, 17:17
par mello
Même problème avec Fedora 27, est-il utile que je test un autre OS?

J'ai supprimé les entrées UEFI qui étaient inutiles, même avec ces entrées en moins ni fedora ni arch ni debian ne parvient pas à installer grub.

Je re-précise qu'avec une table de partition DOS et en démarrant avec BIOS je peux démarrer et grub s'installe parfaitement, j'aimerai vraiment pouvoir profiter des avantages d'UEFI/GPT notamment pour le nombre de partition "primaire", et puis surtout comprendre d'où vient l'erreur.

Je ne sais plus par où chercher ça fait plusieurs jours que je suis dessus, j'ai besoin de votre aide.

Peu importe l'idée je suis preneur.

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : lun. 27 août 2018, 05:41
par waitnsea
mello a écrit : dim. 26 août 2018, 17:17 Même problème avec Fedora 27, est-il utile que je test un autre OS?
J'ai supprimé les entrées UEFI qui étaient inutiles, même avec ces entrées en moins ni fedora ni arch ni debian ne parvient pas à installer grub.
Réinstalle Arch calmement, et si ça bloque encore donne les retours de :

Code : Tout sélectionner

# ls /boot/efi
# ls /boot/efi/EFI
# du -sh /boot/efi
# fdisk -l
# efibootmgr

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument [Résolu]

Publié : lun. 27 août 2018, 23:21
par mello
Merci encore waitnsea de t'acharner avec moi ^^
J'ai essayé ce que tu m'a dis mais les résultats me parraissaient cohérents.

J'ai finalement trouvé une solution ! Cependant mon grub est moche. Je m'excuse pour tout ce temps perdu la solution se trouvait dans une page wiki un petit peu difficile à trouver mais quand même, dans une page wiki.

Solution :

Dans ce wiki https://wiki.archlinux.fr/GRUB il est dicté ceci

Code : Tout sélectionner

Ceux qui éprouvent des problèmes malgré l'application de ces méthodes sont encouragés à partager des informations détaillées pour leurs hardware spécifiques, en particulier dans la résolution de ces problèmes, Un article [url]GRUB/EFI(en)[/url] a été fourni pour de tels cas.
. J'ai cherché le laptop qui correspondait le plus au mien et tout en bas nous avons celui-ci "M92p ThinkCentre". J'ai don suivi ce lien https://wiki.archlinux.org/index.php/GR ... _boot_path. J'ai donc fais dans l'ordre (pour ce qui aurait le même problème)

Code : Tout sélectionner

grub-install --target=x86_64-efi --efi-directory=esp --removable
mv esp/EFI/grub esp/EFI/BOOT
mv esp/EFI/BOOT/grubx64.efi esp/EFI/BOOT/BOOTX64.EFI
grub-mkconfig -o /boot/grub/grub.cfg
Du coup j'ai bien grub quand je lance, je met le sujet en résolu.

Cependant je pense que cette solution n'en est pas vraiment une puisque si j'ai bien compris on installe tout simplement grub "à l'endroit" du boot par défaut(ce "à l'endroit" je sais pas ce que c'est si vous savez expliquez moi svp :))
Si vous savez également pourquoi mon grub est moche je veux bien une explication, je suppose que c'est "l'endroit" du boot par défaut qui provoque ça mais c'est juste une supposition.

Merci waitnsea et CoudUr de m'avoir tant aidé, votre aide m'a été préciseuse.

Re: [Impossible d'installer grub] efibootmgr -- Could not prepare Boot variable: Invalid argument

Publié : ven. 31 août 2018, 23:16
par chrisgnu
Salut ! Je suis nouveau sur le forum mais je vais essayer de t'aider.
Première chose, il faut vider le cache bios. Si t'as un portable tu vires la pile, si c'est un boitier, tu déplace le cluster sur CLEAR CMOS OU SWB-CMOS sur ta carte mère. Tu boot ton PC et une fois de nouveau éteint, tu remets le cluster à sa place d'origine.
Une fois fait tu lances le live de arch. Puis tu formate ton disque dur mkfs.vfat /dev/sdX.
Tu lances parted et tu tapes mklabel gpt.
Tu refais l'installation d'arch et tu ne devrais plus avoir de soucis.
J'ai eu le même problème.