[Installation] Problème de Grub après une installation UEFI + LVM on LUKS (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
barbsbou
Hankyu
Messages : 23
Inscription : sam. 05 sept. 2009, 01:58

[Installation] Problème de Grub après une installation UEFI + LVM on LUKS (résolu)

Message par barbsbou »

Bonjour;

Me voici après une pause a peu de 8 ans d'Arch, (le passage systemd m'avait cassé mon système de boulot et perdre beaucoup de temps), et maintenant je reviens à mon plus grand amour de distrib Arch.

C'est pour une machine qui me sert pour mon boulot, j'ai installé arch linux chiffré avec luks qui est divisé en deux volumes LVM.
J'ai suivi le guide officiel https://wiki.archlinux.fr/Installation en adaptant comme l'explique https://medium.com/@maxime.durand.54/ar ... 81e390a400

Lors du boot je suis sur le terminal de grub rescue sans même qu'il ne m'a demandé ma clé de déchiffrement...
error: disk 'lvmid/CDgH...' not found

En rebootant sur la clé j'arrive tout à fait à tout remonter à la main, c'est un peu difficile de vous donner les fichier de conf, voici ce que j'ai dans l'ordre

Code : Tout sélectionner

lsblk -f
ls -la /dev/disk/by-uuid
head /etc/default/grub
cat /etc/mkinitcpio.conf | grep "HOOKS="
Image

Si vous avez des idées de ce que j'ai mal fait...ou besoin d'autres infos
Merci d'avance pour votre aide!!!
Dernière modification par barbsbou le mar. 05 janv. 2021, 10:10, modifié 1 fois.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Installation] Problème de Grub après une installation UEFI + LVM on LUKS

Message par benjarobin »

Bonjour,
Le tutoriel est plus ou moins foireux. Il y a une confusion (et tu l'as faite aussi) entre une partition de boot et une partition ESP.
La partition de boot est souvent plus nécessaire, sauf dans ton cas (ou pas on verra par la suite)

Tu as 2 cas possible pour installer Grub (mais pas tous applicable à toi car tu fais du LUKS) :
  1. L'application EFI de Grub installée dans la partition ESP, les modules de Grub avec grub.cfg installé dans le dossier de boot (qui est une autre partition que la partition ESP, cela peut être la partition racine)
  2. Grub entièrement installé dans la partition ESP (application EFI, ainsi que les modules de Grub, et le fichier de configuration)
Ce qui pose problème ici, c'est que Grub à besoin de charger le module pour ouvrir une partition chiffrée, alors que le module est dans une partition LVM qui est elle même stocké dans une partition chiffrée. Que je sache l'application EFI de Grub ne sait pas le faire, il lui faut un module externe pour cela.

Et pour le kernel (avec son initramfs) qui est dans /boot :
  1. Ne pas avoir de partition de boot, le dossier /boot est dans la partition racine
  2. Avoir une partition de boot séparée (souvent en ext2 pour de vielles raisons mais plus valide aujourd'hui) : Donc le kernel est à la racine de cette partition
  3. Avoir la partition ESP un rôle additionnel, être aussi la partition de boot : Donc le kernel linux se trouvera à la racine de la partition ESP. Cette solution à pas mal d'inconvénient mais est suffisante si on n'a qu'un seul linux sur la machine, et que la partition ESP est suffisamment grande pour tout stocker.
Dans ton cas sda1 est la partition ESP (c'est celle que Windows a créé je suppose).
Tu devrais transformer la partition sda5 comme une vrai partition de boot, donc sda1 est monté dans le dossier efi de sda5.
Tu peux garder la partition sda5 en vfat, ou la formater en ext4, comme tu veux...

Réinstaller Grub dans cette configuration, via une installation "classique" (soit le premier cas décrit plus haut). Ce qui fait que juste l'application EFI de Grub va se trouver dans la partition ESP de Windows (et cela ne pose aucun souci, le fichier EFI de Grub fait moins de 200Ko)

Tu as d'autres solutions, en effet, mais c'est celle que je te propose et qui colle le plus proche à ce que tu veux faire et à ce qui a été décrit dans le "tutoriel" (Voilà pourquoi je suis contre les tutoriels de ce genre...). Et surtout cela ne te demande pas de tout refaire. Tu peux tout corriger depuis le CD d'installation d'Arch.

En résumé tu dois faire ceci :
  • Démarrer depuis un CD d'installation d'Arch en UEFI
  • Supprimer l'entrée de boot de Grub existante via efibootmgr
  • Formater la partition sda5 (en ext4 par exemple)
  • Monter la partition racine (qui est dans un LVM + LUKS) dans /mnt
  • Monter sda5 dans /mnt/boot
  • Créer le dossier /mnt/boot/efi
  • Monter sda1 dans /mnt/boot/efi
  • Corriger le fstab qui est dans /mnt/etc/fstab
  • Chrooter comme lors d'une installation dans /mnt
  • Installer Grub : grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
barbsbou
Hankyu
Messages : 23
Inscription : sam. 05 sept. 2009, 01:58

Re: [Installation] Problème de Grub après une installation UEFI + LVM on LUKS

Message par barbsbou »

Tout d'abord MERCI de ta réponse!!!
Malgré ma mauvaise photo pour décrire au mieux ma situation, tu m'as bien expliqué!! Mais en effet, entre le guide officiel et le tuto je sentais que c'était pas consistant avec ESP et la partition boot...Et je dois avouer que je ne comprends pas toutes les subtilités sur ce sujet. J'ai suivi au mieux...

Bref, je fais un retour dès que je peux tester tes conseils.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Installation] Problème de Grub après une installation UEFI + LVM on LUKS

Message par benjarobin »

J'ai ajouté des précisions dans mon précédent message, je te laisse le relire.
Avec une telle installation, Grub ne devrait pas te demander de clé de déverrouillage de LUKS, uniquement Linux.
Si tu veux que le kernel soit lui aussi dans une partition chiffrée c'est un peu différent (mais je ne maitrise pas trop tout ce qui touche à LVM et LUKS, donc je préfère rester prudent)
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
barbsbou
Hankyu
Messages : 23
Inscription : sam. 05 sept. 2009, 01:58

Re: [Installation] Problème de Grub après une installation UEFI + LVM on LUKS

Message par barbsbou »

Tout d'abord MERCI beaucoup @benjarobin pour ton aide très détaillé, ça a bien fonctionné!!
C'est ce que je comptais faire lors de l’installation mais pour de mauvaise raison, je souhaitais le faire pour que GRUB trouve plus facilement Win10...
Donc c'était un problème avec l'EFI mais pas un problème de LUKS ou de LVM...j'ai toujours pas compris en quoi les changements font que ça fonctionne maintenant, que l'ESP est en première position du disque??

Petit complément, il faut penser à
pacstrap /mnt linux après avoir formaté la partition

Code : Tout sélectionner

/boot
et j'ai refais l'initramfs avec mkinitcpio

voilou merci beaucoup!!!
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17187
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Installation] Problème de Grub après une installation UEFI + LVM on LUKS

Message par benjarobin »

benjarobin a écrit : lun. 04 janv. 2021, 18:14Ce qui pose problème ici, c'est que Grub à besoin de charger le module pour ouvrir une partition chiffrée, alors que le module est dans une partition LVM qui est elle même stocké dans une partition chiffrée.
Le problème venait de la façon dont Grub avait été installé, ou plutôt à quel endroit.
Grub est en plusieurs parties : Le cœur de grub (qui est vraiment minimaliste, et dans le cas d'une installation EFI, c'est le fichier .efi dans la partition ESP) et ses modules qui sont par défaut stockés dans le dossier de boot. Hors dans ton cas, le dossier de boot se trouvait dans la partition racine qui était chiffré.
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
barbsbou
Hankyu
Messages : 23
Inscription : sam. 05 sept. 2009, 01:58

Re: [Installation] Problème de Grub après une installation UEFI + LVM on LUKS

Message par barbsbou »

benjarobin a écrit : mar. 05 janv. 2021, 12:52
benjarobin a écrit : lun. 04 janv. 2021, 18:14Ce qui pose problème ici, c'est que Grub à besoin de charger le module pour ouvrir une partition chiffrée, alors que le module est dans une partition LVM qui est elle même stocké dans une partition chiffrée.
Le problème venait de la façon dont Grub avait été installé, ou plutôt à quel endroit.
Grub est en plusieurs parties : Le cœur de grub (qui est vraiment minimaliste, et dans le cas d'une installation EFI, c'est le fichier .efi dans la partition ESP) et ses modules qui sont par défaut stockés dans le dossier de boot. Hors dans ton cas, le dossier de boot se trouvait dans la partition racine qui était chiffré.
GOT IT!! ;-)

MERCI
Répondre