# Dual boot windows 10 efi, problème installation grub

## escarg0tic

 Bonjour à tous, je suis actuellement en train d'essayer d'installer gentoo EFI sur mon nouveau thinkpad.

L'installation c'est déroulée normalement avec systemrescueCD, tout est OK (en fin je crois)  :Confused: 

Mon partitionnement est le suivant :

/dev/nvme0n1p1 -> EFI windows

/dev/nvme0n1p2 -> autre partition génèrée par windows

/dev/nvme0n1p3 -> partition windows principale

/dev/nvme0n1p4 -> partition SWAP

/dev/nvme0n1p5 -> partition de démarrage linux

/dev/nvme0n1p5 -> linux

J'installe donc grub2 en chroot:

(/dev/nvme0n1p1 est monté dans /boot)

chroot # grub-install --target=x86_64-efi --efi-directory=/boot/EFI

Grub annonce que L'installation c'est bien déroulée.

Par la suite :

chroot # grub-mkconfig -o/boot/grub/grub.cfg

Encore une fois aucune erreur mais aucun message comme quoi il a bien trouvé gentoo et Windows.

Effectivement le fichier grub.cfg n'a pas été remplie aux endroits où sont habituellement écris les systèmes reconnues par grub. Je redémarre comme même mais je reboot sur windows de manière classique.

J'ai donc quelque jours après redémarré via sysrescueCD sur mon ordinateur, j'ai tout bien monté, et je me retrouve donc comme au moment de l'installation de gentoo. Je chroot dans /mnt/gentoo/.

Et à partir de la j'ai re essayer L'installation de grub plusieurs fois sans succès, sauf certaines fois ou mon ordinateur démarre bien sûr grub, mais je suis lâché dans un shell.

Le problème est donc le suivant : grub ne détecte aucun système lors de grub-mkconfig.

Ps : j'ai bien installé sys-boot/os-prober.

Un grand merci par avance pour toutes vos réponses.  

----------

## nick_gentoo

Bonjour, voici quelques idees ou choses a verifier:

je suppose que la partition /dev/nvme0n1p1 est la ESP ou EFI System Partition; si elle est montee sous /boot, je pense que grub-install devrait avoir --efi-directory=/boot comme parametre

qu'est-ce que s'affiche lors de grub-mkconfig?

----------

## escarg0tic

Bonjour ! Merci pour votre réponse!

Oui j'ai omis de le dire   :Confused:  J'ai déjà essayé avec efi-directory=/boot

Mais le résultat est le même:

 grub-mkconfig me renvoit:

>> Generating grub config file

>> Done

Systématiquement  (j'ai à peu près essayer d'installer grub partout dans /boot ...).

Est ce que mon problème pourrais venir d'un fstab mal configuré?

----------

## nick_gentoo

Non, fstab n'intervient que plus tard, apres que le kernel linux ait demarre.

La ESP existe donc deja, et elle est utilisee par Windows. Quel est son contenu? Peut-on voir si des fichiers de grub ont ete installes quelquepart la-dedans?

----------

## escarg0tic

# tree -L 3 /boot

/boot/

----EFI

--------Boot

------------bootx64.efi

--------Microsoft

-----------Boot

-----------Recovery

En suite j'installe grub et j'ai:

# tree -L 2 /boot/

/boot/

----EFI

--------Boot

------------bootx64.efi

--------Microsoft

-----------Boot

-----------Recovery

--------EFI 

-----------gentoo

---------------grubx64.efi

----grub

--------fichiers de grub

Et après je fais :

# grub-mkconfig -o /boot/grub/grub.cfg

>> Generating grub configuration file ...

>>     Warning : Failed to connect to lvmetad. Falling back to device scanning ( cette erreur est récente je ne l'avais pas avant ).

>> done

----------

## escarg0tic

Avec l'installation de Grub que je viens de vous envoyer, je viens de redémarrer l'ordinateur et Windows démarre normalement

----------

## escarg0tic

De plus je remarque que ma partition de démarrage Linux est vide, les dossiers/fichiers EFI/gentoo/grubx64.efi ne sont pas sensés être dans cette partition de démarrage ?

En fait je suis un peu confus c'est la première fois que j'installe Linux en UEFI, et en plus je viens de commencer Gentoo  :Confused:  (je suis habitué à Slackware et ça fait longtemps que j'ai installer une distro).

----------

## nick_gentoo

escarg0tic, il faut utiliser les tags "Code" en haut pour formatter l'affichage des commandes.

Je ne sais pas comment grub traite la presence de Windows. Par exemple, /boot/EFI/Boot/bootx64.efi est un bootloader, mais je ne sais pas s'il pourrait appartenir a Windows. Pour en savoir plus, il serait utile d'installer efibootmgr et voir https://wiki.gentoo.org/wiki/Efibootmgr pour afficher ce que l'ordinateur connait sur les bootloaders installes, avec

```
efibootmgr -v
```

Ensuite, je ne vois pas si le kernel Linux a ete installe sous /boot. Est-il present quelque part? As-tu installe le kernel, avec make install ou quelque chose d'autre?

----------

## escarg0tic

j'ai installé les kernel avec:

```

# make modules_install

# make install

```

Où suis-je sensé trouver le kernel ?

----------

## escarg0tic

Ce pourrais t'il que j'ai accidentellement supprimé le kernel ? 

A un moment j'ai vider tout ce que si trouvait dans ma partition EFI pour la remettre à 0 (avec Windows uniquement ), je l'ai après régénéré avec une clef Windows.

Est ce que recompiler le kernel pourrais remédier au problème

J'ai fais des tests d’installation de Gentoo en machine virtuelle, sans le dualboot (pour apprendre)

Et je vois actuellement que j'ai des fichiers (en vm) que j'ai souvenir d'avoir vu en dur, et que j'ai supprimé pensant qu'ils avaient

étés générés par grub et que je pourrais les régénérés. Je pense aux fichiers :

```

vmlinuz-4.19.86-gentoo

System.map-4.19.86-gentoo

config-4.19.86-gentoo

```

Si je comprend bien en supprimant vmlinuz j'ai supprimer le lien vers le kernel ?

----------

## nick_gentoo

Oui, vmlinuz est le kernel, il faut le reinstaller.

Je ne sais pas encore pourquoi grub ne demarre apres l'avoir installe, mais cela devrait etre facile a resoudre.

Et il devrait y avoir une methode pour fair un backup du bootloader de Windows, pour le cas ou tu voudras de-installer Gentoo et restaurer Windows. Ou peut-etre meme une methode pour ajouter Gentoo comme option au bootloader de Windows.

----------

## escarg0tic

Bon je viens de réinstaller le kernel tout est ok mais maintenant J'installe grub et il me renvoit une erreur:

```
efibootmgr faibles to registre the boot entre: Block device requiered

```

----------

## nick_gentoo

Pourrais-tu copier ici entierement la commande de grub-install et le message d'erreur?

----------

## escarg0tic

```
# grub-install --target=x86_64-efi  --efi-directory=/boot/EFI

>> Installing for x86_64-efi plateform

>> Could ont delete variable: Read-only file system

>> grub-install: error: efibootmgr failed to register the boot entry: Block device requiered 
```

----------

## nick_gentoo

La page https://wiki.gentoo.org/wiki/Handbook:AMD64/Installation/Bootloader/fr a une mention pour monter efivars r/w, est-ce que tu as deja fait cela?

----------

## escarg0tic

Oui je l'ai fais, et il ne me donne plus d'erreur mais quand je reboot, j'ai bien grub et gentoo (pas windows), je démarre, et kernel panic "not syncing : VFS:... "

----------

## escarg0tic

Je suis persuadé que j'ai mal remplie mon fstab.

Je regarde dans menucobfif si j'ai pas oublier quelque chose...

----------

## nick_gentoo

Il y a beaucoup de questions sur le forum sur ce type d'erreur.

Le kernel ne sait pas comment lire le disque. Est-il un disque de type NVME, attache par un connecteur M2? Quels sont les types de systemes de fichiers pour les partitions de linux?

Attache ici s'il te plait, avec wgetpaste, les contenus de la configuration du kernel (.config), du fstab et du grub.cfg genere, et aussi la sortie de la commande blkid.

----------

