Page 1 sur 1

[Grub] error: disk lvmid not found après installation (Résolu)

Publié : mar. 16 juil. 2019, 16:39
par Harashi
Bonjour à tous,

Après deux ans sur Arch avec un triple amorçage Windows 10/Ubuntu/Arch, j'ai décidé d'enlever Ubuntu et de passer à un double amorçage Windows 10/Arch chiffré avec lvm et luks. J'ai donc supprimé les deux os et réinstallé Arch avec l'aide du wiki, et notamment la page anglaise LVM on LUKS. Tout se passe à peu près normalement, sauf qu'au moment de redémarrer sans le média d'installation, j'obtiens ça :

Code : Tout sélectionner

Welcome to GRUB!

error: disk 'lvmid/aZkahN-GT7B-VBCB-e9cv-dGtK-Jaoh-IIKvGl/BNlZio-shHU-Rssf-2LYZ-IKwf-edfv-ICD4ze' not found.
Entering rescue mode...
grub rescue>
(d'après le fichier grub.cfg, il semblerait que cette suite de caractères soit l'identifiant de /dev/mapper/root)

Après un peu d'investigation, je me rend compte que j'avais mal lu le wiki anglais et entré l'UUID de mon cryptlvm (chez moi /dev/sda6) au lieu du boot (créé par Windows 10) en /dev/sda1. Je modifie donc /etc/default/grub pour avoir :

Code : Tout sélectionner

GRUB_CMDLINE_LINUX="cryptdevice=UUID=2AF7-2C20:cryptlvm root=/dev/arch-vg/root"
2AF7-2C20 étant donc l'UUID de /dev/sda1.
Je refait alors grub-install et grub-mkconfig, redémarre et obtient toujours la même chose.

Dans le doute, je décommente la ligne GRUB_ENABLE_CRYPTODISK=y et refait à nouveau grub-install et grub-mkconfig, mais aucun changement.

Quelqu'un aurait-il une petite idée de ce que j'ai fait de travers ?

EDIT : Je précise que j'ai aussi installé efibootmgr et os-prober

Re: [Grub] error: disk lvmid not found après installation

Publié : mar. 16 juil. 2019, 23:35
par laurent85
Bonjour,
Harashi a écrit : mar. 16 juil. 2019, 16:39 Après un peu d'investigation, je me rend compte que j'avais mal lu le wiki anglais et entré l'UUID de mon cryptlvm (chez moi /dev/sda6) au lieu du boot (créé par Windows 10) en /dev/sda1.
Non c'est l'uuid de la partition luks qu'il faut mettre.
Dans le doute, je décommente la ligne GRUB_ENABLE_CRYPTODISK=y et refait à nouveau grub-install et grub-mkconfig, mais aucun changement.
Tu as chiffré /boot aussi ? sinon il faut pas mettre ce paramètre GRUB_ENABLE_CRYPTODISK=y
Et si tu as chiffré /boot grub ne supporte pas le format luks2.

Re: [Grub] error: disk lvmid not found après installation

Publié : mer. 17 juil. 2019, 10:42
par Harashi
Bonjour,
laurent85 a écrit : mar. 16 juil. 2019, 23:35 Non c'est l'uuid de la partition luks qu'il faut mettre.
D'accord, je me disais bien que mettre le boot était bizarre vu la syntaxe. Mais j'ai pourtant mis l'uuid de ma partition luks (donc /dev/sda6) en premier et ça ne fonctionnait pas.
laurent85 a écrit : mar. 16 juil. 2019, 23:35 Tu as chiffré /boot aussi ? sinon il faut pas mettre ce paramètre GRUB_ENABLE_CRYPTODISK=y
Et si tu as chiffré /boot grub ne supporte pas le format luks2.
Non, je n'ai pas chiffré le boot, mais pareil, au départ je n'avais pas mis GRUB_ENABLE_CRYPTODISK=y et ça ne marchait pas non plus.

En fait j'ai ceci (c'est une photo de mes retours de commande lsblk et blkid) : https://drive.google.com/file/d/1VkJDS7 ... sp=sharing

Je viens donc d'essayer de mettre l'uuid de /dev/mapper/cryptlvm (et j'ai aussi recommenté GRUB_ENABLE_CRYPTODISK=y), puis refait grub-install et grub-mkconfig, mais j'ai encore la même erreur.

EDIT : Je viens de tomber sur ce post. Comme ma partition root est chiffrée il fallait que je rajoute lvm dans mes preload modules. Je l'ai fait en remettant l'uuid de /dev/sda6 mais cela ne fonctionne pas. D'après ce qui est dit dans le post, ne faudrait-il pas que je recommence depuis le départ mais en ajoutant --type luks1 lors de mon cryptsetup ? Ou comme mon /boot n'est pas chiffré ce n'est pas ça qui cause le problème ?

Re: [Grub] error: disk lvmid not found après installation

Publié : mer. 17 juil. 2019, 11:12
par laurent85
Harashi a écrit : mar. 16 juil. 2019, 16:39

Code : Tout sélectionner

error: disk 'lvmid/aZkahN-GT7B-VBCB-e9cv-dGtK-Jaoh-IIKvGl/BNlZio-shHU-Rssf-2LYZ-IKwf-edfv-ICD4ze' not found.
Entering rescue mode...
grub rescue>
L'uuid de ce message n'apparaît pas dans les uuid de l'image écran. C'est ton initramfs qui n'est pas bon, il faut le regénérer, et réinstalle grub. Utilise l'uuid de la partition luks comme indiqué dans la doc, vérifie aussi avant la ligne HOOKS de mkinitcpio.conf comme indiqué dans la doc.

Re: [Grub] error: disk lvmid not found après installation

Publié : mer. 17 juil. 2019, 11:38
par Harashi
Je viens de regénérer l'initramfs avec précisément les hooks de la documentation à l'exception de consolefont. J'ai donc fait :

Code : Tout sélectionner

mkinitcpio -p linux

grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
grub-mkconfig -o /boot/grub/grub.cfg
Avec toujours l'uuid de /dev/sda6 (j'ai vérifié avec blkid, elle n'a pas changé) dans la config du grub (c'est bien elle ma partition luks ?), mais j'obtiens toujours la même erreur avec le même uuid dans le message d'erreur.

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 01:28
par laurent85
Harashi a écrit : mer. 17 juil. 2019, 11:38 Avec toujours l'uuid de /dev/sda6 (j'ai vérifié avec blkid, elle n'a pas changé) dans la config du grub (c'est bien elle ma partition luks ?)
Oui sur l'image écran il est bien indiqué à sda6 type crypto_LUKS.

J'ai lu trop vite, le message d'erreur grub c'est pas un uuid de partition mais l'uid disque lvm. Tu as bien une demande de phrase de passe au démarrage pour déverrouiller le disque ?

Grub se plaint de pas trouver ces uid de volume aZkahN-GT7B-VBCB-e9cv-dGtK-Jaoh-IIKvGl/BNlZio-shHU-Rssf-2LYZ-IKwf-edfv-ICD4ze, ce sont des uid lvm, elle est ou ta partition /boot ? tu as laissé /boot sur le volume lvm on dirait.

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 09:33
par Harashi
laurent85 a écrit : jeu. 18 juil. 2019, 01:28J'ai lu trop vite, le message d'erreur grub c'est pas un uuid de partition mais l'uid disque lvm. Tu as bien une demande de phrase de passe au démarrage pour déverrouiller le disque ?
Non, il ne me demande même pas le mot de passe, j'ai immédiatemment cette erreur, mais c'est logique car je n'ai pas voulu chiffrer /boot afin qu'il me demande mon mot de passe après le choix de l'os (si je vais sur Windows je ne veux pas taper de mot de passe).
laurent85 a écrit : jeu. 18 juil. 2019, 01:28Grub se plaint de pas trouver ces uid de volume aZkahN-GT7B-VBCB-e9cv-dGtK-Jaoh-IIKvGl/BNlZio-shHU-Rssf-2LYZ-IKwf-edfv-ICD4ze, ce sont des uid lvm, elle est ou ta partition /boot ? tu as laissé /boot sur le volume lvm on dirait.
Il ne me semble pas avoir laissé /boot dans lvm, puisque c'est censé être /dev/sda1 (déjà créé par Windows). J'ai procédé comme ça au moment du montage :

Code : Tout sélectionner

mount /dev/arch-vg/root /mnt 
mkdir /mnt/home 
mount /dev/arch-vg/home /mnt/home 
swapon /dev/arch-vg/swap 
mkdir -p /mnt/boot/efi && mount -t vfat /dev/sda1 /mnt/boot/efi
De plus, comme indiqué dans mon premier post, l'uuid affiché par le message d'erreur est répertorié dans le grub.cfg comme étant celui de /dev/mapper/root. Du coup, si je comprend bien la syntaxe de ce que j'ai mis dans /etc/default/grub (à savoir cryptdevice=UUID=b2baf073-e32c-41a4-b4c6-b7a349bc90eb:cryptlvm root=/dev/arch-vg/root), peut-être qu'il faut indiquer root=/dev/mapper/root ?

Ou bien, après lecture de ce post, cet autre post et la documentation anglaise, ne vaudrait-il mieux pas tout réinstaller en spécifiant --type luks1 dans le cryptsetup ?

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 12:24
par laurent85
Harashi a écrit : jeu. 18 juil. 2019, 09:33 Non, il ne me demande même pas le mot de passe, j'ai immédiatemment cette erreur
Donc l'initramfs n'est pas encore chargé lors de l'erreur.
mais c'est logique car je n'ai pas voulu chiffrer /boot afin qu'il me demande mon mot de passe après le choix de l'os (si je vais sur Windows je ne veux pas taper de mot de passe).
Non tu confonds /boot et /boot/efi, ce sont deux partitions séparées. /boot/efi c'est pour stocker le programme d'amorce du pc, /boot c'est l'endroit où grub va chercher ses fichiers pour charger le système, dont l'initramfs et le noyau Linux.
Il ne me semble pas avoir laissé /boot dans lvm, puisque c'est censé être /dev/sda1 (déjà créé par Windows). J'ai procédé comme ça au moment du montage :

Code : Tout sélectionner

mount /dev/arch-vg/root /mnt 
mkdir /mnt/home 
mount /dev/arch-vg/home /mnt/home 
swapon /dev/arch-vg/swap 
mkdir -p /mnt/boot/efi && mount -t vfat /dev/sda1 /mnt/boot/efi
C'est ça l'erreur, il n'y a pas de montage /boot.
/boot est dans /dev/arch-vg/root et donc chiffré. Grub au démarrage ne trouve pas le volume lvm vu que le disque est encore verrouillé.
ne vaudrait-il mieux pas tout réinstaller en spécifiant --type luks1 dans le cryptsetup ?
Avec ton installation /boot chiffré c'est qu'il aurait fallu faire. Ça peut se récupérer si tu as de l'espace disque à libérer pour créer une partition /boot. Sinon il faudra réinstaller.

Si tu peux créer une partition /boot :
- monte tes partitions sans monter /boot/efi
- monte la nouvelle partition /boot sur un point de montage temporaire, par exemple /mnt/mnt
- déplace le contenu de /mnt/boot (celui dans /dev/arch-vg/root) vers /mnt/mnt
- supprime le contenu de /mnt/boot
- démonte /mnt/mnt et remonte la partition boot sous /mnt/boot
- monte la partition efi sda1 sous /mnt/boot/efi
- regénère l'initramfs et réinstalle grub

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 15:40
par Harashi
laurent85 a écrit : jeu. 18 juil. 2019, 12:24 Non tu confonds /boot et /boot/efi, ce sont deux partitions séparées. /boot/efi c'est pour stocker le programme d'amorce du pc, /boot c'est l'endroit où grub va chercher ses fichiers pour charger le système, dont l'initramfs et le noyau Linux.
Effectivement je l'ignorais, le problème venait donc de là.

Préférant refaire quelque chose de propre, j'ai réinstallé avec --type luks1, en conservant volontairement un /boot chiffré (après un peu de réflexion). J'ai donc remis dans /etc/default/grub la ligne de commande précédente avec le nouvel UUID de /dev/sda6, décommenté GRUB_ENABLE_CRYPTODISK=y et ajouté luks et lvm dans les PRELOAD_MODULES.

Au reboot, il me demande donc mon mot de passe, je l'entre mais ensuite j'obtiens plus ou moins la même erreur : https://drive.google.com/file/d/1XEAsly ... sp=sharing

L'UUID affichée est encore une lvm et il s'agit encore /dev/mapper/root d'après grub.cfg.

Au cas où, voici mon nouveau blkid : https://drive.google.com/file/d/1_LEhF2 ... sp=sharing

Et mon /etc/default/grub : https://drive.google.com/file/d/1PjlXwh ... sp=sharing

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 16:09
par laurent85
Harashi a écrit : jeu. 18 juil. 2019, 15:40 Au reboot, il me demande donc mon mot de passe, je l'entre mais ensuite j'obtiens plus ou moins la même erreur : https://drive.google.com/file/d/1XEAsly ... sp=sharing
error: access denied
Entre la phrase de passe en considérant un agencement clavier encore qwerty à cette étape.

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 17:12
par Harashi
Effectivement, tu m'as précédé sur le forum, je revenais après avoir entré le mot de passe en qwerty ^^

Du coup j'arrive bien à accéder au grub après avoir entré mon mdp en qwerty, puis une fois Arch lancé il me le redemande afin d'ouvrir le conteneur (l'azerty fonctionne grâce aux locales).

Par conséquent deux questions :
1. Est-il obligatoire qu'il me le demande deux fois ? Tant qu'à faire je préfererai ne le rentrer qu'une fois
2. Si c'est le mdp avant le grub qui reste (ou s'il n'y a pas moyen de ne le rentrer qu'une fois), est-il possible d'avoir l'azerty ?

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 17:54
par laurent85
Harashi a écrit : jeu. 18 juil. 2019, 17:12 1. Est-il obligatoire qu'il me le demande deux fois ? Tant qu'à faire je préfererai ne le rentrer qu'une fois
Essaie ça, une clé incluse dans l'initramfs https://wiki.archlinux.org/index.php/Dm ... e_initramf
est-il possible d'avoir l'azerty ?
Avec grub je crois pas.

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 18:59
par Harashi
laurent85 a écrit : jeu. 18 juil. 2019, 17:54
Harashi a écrit : jeu. 18 juil. 2019, 17:12 1. Est-il obligatoire qu'il me le demande deux fois ? Tant qu'à faire je préfererai ne le rentrer qu'une fois
Essaie ça, une clé incluse dans l'initramfs https://wiki.archlinux.org/index.php/Dm ... e_initramf
D'accord, donc pour être sûr de ne pas me planter il faut que je me connecte en root au système puis que je fasse :

Code : Tout sélectionner

# dd bs=512 count=4 if=/dev/random of=/crypto_keyfile.bin iflag=fullblock
# chmod 600 /crypto_keyfile.bin
# chmod 600 /boot/initramfs-linux*
# cryptsetup luksAddKey /dev/sda6 /crypto_keyfile.bin
avant d'ajouter FILES=(/crypto_keyfile.bin) dans /etc mkinitcpio.conf ?

Je demande surtout pour la dernière ligne (est-ce bien /dev/sda6 ?) et pour la première (car c'est tout de même la commande dd).

Pour le clavier azerty dans grub j'ai éventuellement trouvé ça chez Ubuntu : https://doc.ubuntu-fr.org/tutoriel/grub ... r_francais

Re: [Grub] error: disk lvmid not found après installation

Publié : jeu. 18 juil. 2019, 19:35
par laurent85
Harashi a écrit : jeu. 18 juil. 2019, 18:59 Je demande surtout pour la dernière ligne (est-ce bien /dev/sda6 ?)
Oui, la commande retourne une erreur si c'est pas une partition LUKS.
et pour la première (car c'est tout de même la commande dd).
La commande crée un fichier /crypto_keyfile.bin à la racine du système de fichier, c'est un fichier comme un autre, c'est pas une écriture sur un identifiant de disque.

Re: [Grub] error: disk lvmid not found après installation

Publié : ven. 19 juil. 2019, 12:56
par Harashi
La méthode du wiki a fonctionnée, je ne rentre plus qu'un seul mot de passe, mais /dev/random s'est bloqué. En fait, il semblerait que contrairement à l'idée reçue il faille utiliser /dev/urandom.

Par contre la méthode d'Ubuntu pour mettre le clavier en azerty ne fonctionne pas, je poursuivrai peut-être des recherches à ce sujet.

En tout cas tout fonctionne à présent correctement, merci beaucoup pour ton aide et ta patience :chinois:

Re: [Grub] error: disk lvmid not found après installation

Publié : ven. 19 juil. 2019, 14:03
par laurent85
Cool 8)
Harashi a écrit : ven. 19 juil. 2019, 12:56 Par contre la méthode d'Ubuntu pour mettre le clavier en azerty ne fonctionne pas
C'est bien ce qui me semblait, j'avais essayé il y a longtemps,