[GRUB] Pas de boot en UEFI

Questions et astuces concernant l'installation et la configuration d'archlinux
Fz_
Hankyu
Messages : 16
Inscription : mar. 21 mars 2017, 13:25

[GRUB] Pas de boot en UEFI

Message par Fz_ »

Bonjour,

Alors j'ai installé grub en mode UEFI sur /dev/sda1 -> /boot/efi/grub à l'aide des commandes :

Code : Tout sélectionner

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub --boot-directory=/boot/efi --debug --recheck
grub-mkconfig -o boot/efi/grub/grub.cfg
Ces commandes ont bien été faites depuis le chroot avec

Code : Tout sélectionner

arch-chroot /mnt
Une fois sorti du chroot avec exit, puis démonté à l'aide de umount -R /mnt, le PC redémarre avec un reboot, et j'ai bien GRUB qui charge Arch,
Une fois sur arch, la commande reboot fonctionne très bien, GRUB est bien relancé, et il me charge encore mon Arch,

En revanche, lorsque j'éteint le pc et retire le média d'installation, je tombe sur le shell UEFI, je ne sais pas pourquoi,
Autre chose, je ne comprends pas ce que veut dire de ne pas séparer le boot en mode UEFI, étant donné qu'il est obligatoire d'avoir l'ESP, puis grub peut être installé dans /boot et /boot/efi

En mode BIOS cela doit vouloir dire de ne pas créer de partition /dev/sda1 pour /boot, mais en mode UEFI j'ai un peu de mal à comprendre étant donné qu'il faut une partition formatée en FAT32

Merci d'avance
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [GRUB] Pas de boot en UEFI

Message par benjarobin »

Bonjour,
Pour répondre à la dernière question: En boot legacy/MBR comme en boot UEFI, tu peux très bien avoir une partition de boot séparée, bien que je ne le recommande pas. En mode UEFI dans le cas de Grub tu te retrouves donc avec une partition de boot (montée dans /boot) et une partition ESP (montée dans /boot/efi). Bref la partition de boot aujourd’hui est inutile dans la majeur partie des cas (elle est plus encombrante que tout autre chose et pose de gros souci pour ceux tête en l'air qui oubli de la monter)

Pour répondre au problème de boot, depuis le CD d'installation peux tu faire ceci :

Code : Tout sélectionner

mkdir /efi
mount /dev/sda1 /efi   # Remplacer sda1 par la partition ESP
find /efi

efibootmgr -v
blkid
gdisk -l /dev/sda  # Si sda est bien le disque dur contenant Arch et la partition ESP
Merci de donner les sorties exactes (pas de screenshot), tu peux rediriger la sortie vers un fichier et l'envoyer directement depuis site de type pastebin, par exemple via http://sprunge.us/
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Fz_
Hankyu
Messages : 16
Inscription : mar. 21 mars 2017, 13:25

Re: [GRUB] Pas de boot en UEFI

Message par Fz_ »

Donc lorsque tu dis qu'en mode UEFI le boot séparé ne sers à rien, tu veux dire qu'il est préférable d'installer grub dans /boot/efi ? Ou alors qu'il ne faut pas monter /dev/sda1 dans /boot ?

Le retour des commandes :

find /efi :
http://sprunge.us/GfMU

efivootmgr -v :
http://sprunge.us/DDJG

blkid :
http://sprunge.us/fbPW

gdisk -l /dev/sda :
http://sprunge.us/DBHZ
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [GRUB] Pas de boot en UEFI

Message par benjarobin »

Fz_ a écrit : jeu. 23 mars 2017, 22:36Donc lorsque tu dis qu'en mode UEFI le boot séparé ne sers à rien, tu veux dire qu'il est préférable d'installer grub dans /boot/efi ? Ou alors qu'il ne faut pas monter /dev/sda1 dans /boot ?
Rien de tout cela, je ne vois vraiment pas comment reformuler la chose, je crois que tu mélanges toujours partition de boot et partition ESP (Ce n'est pas parce que la partition ESP peut être monté dans /boot que cela en fait une partition de boot). Je dis juste qu'il n'est pas nécessaire d'avoir une partition de boot. La partition de boot est généralement une partition de 300 Mo en ext2 qui est monté dans /boot, cette partition servais à l'époque où le chargeur de démarrage n'était pas capable de lire le kernel linux depuis la partition racine.
En UEFI avec une partition de boot tu aurais ce genre de partitionnement :
  • /dev/sda1 : la partition ESP montée dans /boot/efi pour Grub
  • /dev/sda2 : la partition de boot montée dans /boot
  • /dev/sda3 : la partition racine montée dans /
Et je le répète ce genre de configuration n'a que très très rarement de sens (voir jamais) !

Pour ton problème, c'est juste ta carte mère qui ne respecte absolument pas la norme UEFI, essaye de faire ceci depuis le CD d'installation :

Code : Tout sélectionner

mkdir /efi
mount /dev/sda1 /efi
mkdir /efi/EFI/Boot
cp /efi/EFI/grub/grubx64.efi /efi/EFI/Boot/bootx64.efi
reboot
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Fz_
Hankyu
Messages : 16
Inscription : mar. 21 mars 2017, 13:25

Re: [GRUB] Pas de boot en UEFI

Message par Fz_ »

Super, ça fonctionne, merci !

C'est bizarre en gros le chemin complet donne /boot/efi/EFI/boot/bootx64.efi ? Je ne comprends pas pourquoi il y a besoin de deplacer grub et le renommer en bootx64.efi

Je crois avoir compris pour le boot séparé, c'est un peu comme /home qui vient sur "/", là c'est /efi qui vient sur /boot, donc /boot et /boot/efi sont sur la même partition, j'imagine que c'est ça que tu veux dire
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [GRUB] Pas de boot en UEFI

Message par benjarobin »

Fz_ a écrit : jeu. 23 mars 2017, 23:29Je ne comprends pas pourquoi il y a besoin de deplacer grub et le renommer en bootx64.efi
Car ton PC ne respecte pas vraiment la norme EFI. Par contre la norme dis que si le PC trouve le fichier EFI/Boot/bootx64.efi dans un ESP du disque actif alors il doit lancer ceci (et fort heureusement ton PC respecte au moins cette partie, il est un peu obligé car sinon il ne pourrait pas lancer Windows)
Fz_ a écrit : jeu. 23 mars 2017, 23:29Je crois avoir compris pour le boot séparé, c'est un peu comme /home qui vient sur "/"
Oui c'est ce que l'on appel monter une partition dans un répertoire, chose que j'explique depuis le début. Ton exemple correspond à une partion home séparée monté dans /home.
Fz_ a écrit : jeu. 23 mars 2017, 23:29donc /boot et /boot/efi sont sur la même partition
Non ou alors je ne comprends pas cette phrase.
  • /boot est un dossier de la partition racine (sda3 de mon exemple).
  • Si tu as une partition de boot séparée (montée dans /boot) alors /boot/efi correspond à un dossier ./efi à la racine de la partition de boot (sda2 de mon exemple)
  • Et si on est en plus en UEFI, et que la partition ESP (sda1 de mon exemple) est montée dans /boot/efi, alors /boot/efi/EFI correspond à un dossier ./EFI à la racine de la partition ESP
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Fz_
Hankyu
Messages : 16
Inscription : mar. 21 mars 2017, 13:25

Re: [GRUB] Pas de boot en UEFI

Message par Fz_ »

Je crois que je suis en train de comprendre, c'était un peu comme mon exemple de "/" et "/home"

Par exemple sur un schéma tout simple :
/dev/sda1 = EFI
/dev/sda2 = "/"
/dev/sda3 = "/home"

Le /dev/sda3 qui est le home viens se monter dans "/" donc dans /dev/sda2
Donc dans le cas de GRUB, lorsque tu dis qu'il ne faut pas de partition /boot séparé, ça veut dire qu'il ne faut pas créer de partition supplémentaire pour /boot, il se monte donc dans /dev/sda2 de mon cas, et dedans j'y monte /dev/sda1 pour installer l'EFI
La racine de la partition boot si j'en aurait rajouté une, ne serait pas "/boot" mais "boot" (je pense)

Ce qui veut dire que sur /dev/sda1 à la racine il y a le dossier efi, donc /efi/EFI,
Et que /boot est sur /dev/sda2

Un peu le même cas que /home
/dev/sda2 est la racine et dedans je viens monter /dev/sda3 qui correspont au home donc la racine de /dev/sda3 est "home" et non "/home"

Si je comprends bien ça doit être ça
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [GRUB] Pas de boot en UEFI

Message par benjarobin »

Il y a du progrès sur la compréhension mais désolé ce n'est toujours pas cela
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Fz_
Hankyu
Messages : 16
Inscription : mar. 21 mars 2017, 13:25

Re: [GRUB] Pas de boot en UEFI

Message par Fz_ »

Je veux vraiment essayer de comprendre mais j'ai du mal avec ça ^^
Toujours avec le même schéma pour les exemples :
/dev/sda1 Partition ESP
/dev/sda2 Racine
/dev/sda3 Home

Donc si je ne fait pas de partition par exemple /dev/sda1 que je monte dans /boot, lorsque j'installe grub, il va créer /boot, et comme il n'y a pas de partition montée dans /boot, il va le créer automatiquement sur la /dev/sda2

Ce qui veut dire que :
Dans le cas d'un boot séparé :
/dev/sda1 = ESP dans /boot/efi
/dev/sda2 = /boot, donc dans boot je me retrouve avec un dossier efi, autrement dit à la racine de /dev/sda2
/dev/sda3 mon dossier racine
Donc la racine de /dev/sda1 est montée dans la racine de /dev/sda2

Alors que dans un boot non séparé :
/dev/sda1 = ESP
/dev/sda2 = Racine
/dev/sda3 = home
Le /boot est sur /dev/sda2, donc la partition ESP avec le chemin "/boot/efi" viens se monter à la racine de /boot

Je pense être sur le chemin, voire pas loin de comprendre
Répondre