[GRUB] Besoin d'une signature unique [Résolu]

Questions et astuces concernant l'installation et la configuration d'archlinux
Saga_Fire
Hankyu
Messages : 13
Inscription : dim. 12 juin 2016, 19:34

Re: [GRUB] Besoin d'une signature unique

Message par Saga_Fire »

Non non j'ai pas abandonné, j'ai fait quelques testes ici et là pour mieux comprendre ce qui se passe :evil: mais tout d'abord :
Ça revient au menu de quel bootloader ? GRUB ?
Désolé je me suis trompé, c'est le boot menu de L'UEFI. :?
Alors quand je vais dans la boot menu, et que je sélectionne "UEFI : Hard Drive : PART 0 : OS Bootloader" ça revient au boot menu.
Donc si GRUB n'arrive pas à créer l'entrée de boot, tu peux la créer à la main. Tu as des exemples sur cette page.
Attention, le chemin que tu mets après l'option -l est absolu par rapport à l'ESP. Il faut que les fichiers soient présents dans l'ESP avant d’utiliser efibootmgr.
Alors le lien que tu m'as donné, je vais pas te mentir, j'ai rien compris jusqu'à il y a 10min ou je comprends un petit peu mieux. On y reviendra plus tard si tu veux bien car j'aimerai vous faire part de mes recherches.

Alors j'ai recommencé un table de partition GPT avec :
_une partition EFI (@otacon: drapeau esp et boot)
_une partition btrfs archlinux avec subvolume
_une partition ext4 archlinux test
Évidemment, j'ai le même résultat pour ext4 et btrfs
Enfin j'ai fait une partition ext4 Ubuntu 16.04lts.
Là, le grub s'installe et détecte la partition archlinux test ext4 mais pas la archlinux btrfs.

Évidemment, c'est la partition btrfs avec subvolume qui m'intéresse.. :x

Ce que j'ai ensuite essayé de faire, c'est de modifier le grub avec le logiciel grub customizer d'Ubuntu et manuellement en modifiant le fichier /etc/grub.d/40_custom.
Là, j'ai pas d'erreur en faisant update-grub et j'arrive à insérer dans le grub la partition ext4 archlinux test mais pas la btrfs archlinux :evil:

Bon voilà ce qu'ont donné mes recherches. Moi, je pige pas grand-chose mais j'espère que quelqu'un va comprendre le hic :roll:

Voici en pastebin le grub.cfg de chaque partition :
btrfs archlinux
ext4 archlinux test
ext4 Ubuntu 16.04lts

Dernière chose, je sais pas si c'est normal mais quand je réinstalle archlinux sans formater la partition EFI, au moment du grub-install je fais :

Code : Tout sélectionner

sh-4.3# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=arch_grub --recheck
Installing for x86_64-efi platform 
GUID Partition Table Header signature is wrong: (les chiffres ont changé) != 5452415020494645
GUID Partition Table Header signature is wrong: (les chiffres ont changé) != 5452415020494645

**************************************
Warning! This MBR disk does not have a unique signature.
If this is not the first disk found found by EFI, you may not be able to boot from it without a unique signature. 
Run efibootmgr with the -w flag to write a unique signature to the disk.
**************************************

Installation finished. No error reported.
Et je retombe toujours sur le même type d'erreur qu'auparavant.
Cependant, si je redémarre, je boot sur le grub d'Ubuntu installé auparavant alors qu'aucune erreur n'a été reporté lors du grub-install et bien évidemment sans la nouvelle d'archlinux ou archlinux test.

EDIT: Ouahou, j'ai réussi à monter le btrfs dans le grub d'Ubuntu, au fait, les UUID des fichiers 'grub.cfg' de archlinux btrfs et archlinux test ext4 sont super mal écrit: leurs UUID sont stoppé à la moitié par '$' :shock:
Enfin, le problème n'est pas résolu encore car je me vois pas installer Ubuntu à chaque nouveaux Arch. De plus, le but est d'installer Ubuntu dans un subvolum.. Bref c'est une autre histoire :D
Donc je vais voir comment modifier 'grub.cfg' dans Arch pour faire un grub-install et voire le résultat. Si il y a des idées, je suis preneur :) et j'aimerais bien savoir ce que vous en pensez de mon raisonnement :roll:
vinz
Daikyu
Messages : 87
Inscription : jeu. 09 juin 2016, 13:09
Localisation : Bordeaux

Re: [GRUB] Besoin d'une signature unique

Message par vinz »

Bonjour. Dis moi, si tu as trouvé la solution, je suis preneur car je suis exactement dans le même cas que toi ^^ (noms de disques, erreurs, la partition clavier).

Je te remercie d'avance pour la prise en considération de cette requête.

Cordialement,

Vinz
Saga_Fire
Hankyu
Messages : 13
Inscription : dim. 12 juin 2016, 19:34

Re: [GRUB] Besoin d'une signature unique

Message par Saga_Fire »

Salut Vinz,

Malheureusement, je n'ai pas réussi à installer le grub d'archlinux.

Je n'ai réussi qu'à installer que le grub d'ubuntu même en ligne de commande et je le modifie pour qu'il détecte archlinux.

Ce que je remarque, c'est que contrairement à ce que j'ai dit sur mon précédent poste, les fichiers grub.cfg de toutes les partitions sont très bien écrit (certains le savent peut-être mais si une ligne est coupé par $, c'est à cause du copié/collé :roll: )

Du coup, ce dont je suis sur, c'est que grub ne s'installe pas! :evil:
Pourquoi je pense ainsi?! Parce que quand j'installe grub sous arch, aucune entré n'apparaît dans le bios.
Si j'installe grub sous ubuntu, l'entré suivante apparaît dans le bios:

Code : Tout sélectionner

UEFI : ubuntu : PART0 : OS bootloader
@Vinz: tu dis que tu as les mêmes noms de disques que moi?!?! As-tu un samsung 950pro? L'erreur viendrait peut-être de la là..? En analysant nos matériel, on pourrait peut-être aboutir à une idée non?

@Xorg: comment ré-mettre le windows boot manager avec efibootmgr stp car vu que ce n'est pas ça le problème, j'aimerai bien le remettre si c'est possible.

Je cherche encore mais je bosse un peu sur arch en lui-même pour m'expérimenter un peu car bloquer sur un problème où on ne trouve pas la solution, ça rend fou mdr :?
Je vais tenter la démarche de Xorg pour créer l'entrée de boot manuellement même si j'ai du mal à comprendre :?
Bien sur, les autres idées de démarche sont toujours le bien venu. :D
Saga_Fire
Hankyu
Messages : 13
Inscription : dim. 12 juin 2016, 19:34

Re: [GRUB] Besoin d'une signature unique

Message par Saga_Fire »

Houraaa! J'ai réussi!!! :bravo:

La solution n'était pas si compliqué en faite : après toutes les tentatives données par Xorg sur cette page qui ont toutes échoués, j'ai finalement réussi grâce à la page Unified Extensible Firmware Interface en tapant :

Code : Tout sélectionner

efibootmgr -c -d /dev/nvme0n1 -p 1 -l /EFI/arch_grub/grubx64.efi -L "GRUB"
Note:
_ nvme0n1 se trouve grâce à la commande "fdisk -l"
_ "-p 1" est la partition EFI
_ "EFI/arch_grub/grubx64.efi" est le chemin crée par la commande "grub-install" lors de l'installation de Grub. Comme j'ai spécifié les options "--efi-directory=/boot/efi" (car j'ai monté l'ESP dans /boot/efi) et "--bootloader-id=arch_grub", le chemin complet de l'image grubx64.efi dans la session root d'ArchLinux est : /boot/efi/EFI/arch_grub/grubx64.efi

Remarque: la commande donnée ci-dessus pour efibootmgr est très similaire à toutes celles conseillés par Xorg sauf qu'il n'y a pas les mêmes options et c'est pourquoi ça ne fonctionnait pas.

Je raconte ma vie en expliquant comment j'en suis arrivé là :D :
Alors ne trouvant aucune solution sur cette page, j'ai donc utilisé au début le Grub d'Ubuntu. C'est cool mais j'étais quand-même frustré de ne pas avoir achevé une installation 100% ArchLinux :evil: .
Ne réussissant pas à installer Grub, j'ai tenté d'autres bootloader comme Systemd-boot (Gummiboot pour les anciens), et là ça marche en tapant simplement la commande

Code : Tout sélectionner

bootctl --path=esp install
Avec l'esp étant chez moi /boot/efi.
Normalement j'aurai pu m'arrêter là mais je me suis demandé si je pouvais installer d'autre bootloader comme Syslinux ou rEFInd. Malheureusement, Syslinux et rEFInd me donnaient le même type d'erreur de signature unique que Grub :shock: .
J'ai bidouillé pour voir ce que donne "EFI Default Loader" chez Systemd-boot si je renomme grubx64.efi (/EFI/arch_grub/grubx64.efi) en bootx64.efi et que je le remplace par /EFI/Boot/bootx64.efi (en prenant soin de faire une sauvegarde des originaux) et du coup en redémarrant sur Systemd-boot, je sélectionne "EFI Default Loader" et devinez quoi, je tompe sur Grub version ArchLinux :shock: . Plus encore, je renomme grubx64.efi (/EFI/arch_grub/grubx64.efi) en systemd-bootx64.efi et je le remplace par /EFI/systemd/systemd-bootx64.efi. Et là, je redémarre direct sur Grub version ArchLinux :D . Magnifique!!! Enfin presque car j'ai un peu triché.. :roll:
Au moins, à ce moment là, je suis sûr que le problème ne vient pas de Grub, Syslinux ou rEFInd mais de l'entrée de boot comme le disait Xorg. Que faire puisque j'ai essayé toutes les manips que m'a donné Xorg sans succès. Je décide donc de rechercher une doc sur efibootmgr et je tombe directement sur cette page plus particulièrement ce passage tout bête:
Then create the boot entry using efibootmgr as follows:

# efibootmgr -c -d /dev/sdX -p Y -l /EFI/refind/refind_x64.efi -L "rEFInd"
J'ai testé en l'adaptant à mon disque et ça a marché :bravo: . Le plus fou est que j'ai du passer par tout ce micmac pour finalement tomber sur une commande simple qui aurait marché dès le départ :roll: .Ainsi ça marche avec tous les bootloader sauf Burg dont j'ai abandonné l'installation et je suis resté sur rEFInd pour sa simplicité et son graphique.

Bien sûr, je tiens à tous vous remercier pour votre aide et plus particulièrement Xorg pour son inspiration :chinois: .
Répondre