CitizenZ

Blog Libre, Geek & Crypto

Installer Manjaro en multiboot avec Windows10, en UEFI/GPT, avec deux disques durs

Rédigé par citizenz 16 commentaires

Voila un titre, long, qui résume ma situation !
Ca fait une semaine que je galère avec ça. Après une installation "classique" de Manjaro grâce au live-cd (XFCE), je ne pouvais pas avoir accès à GRUB sauf par l'intermédiaire du live-cd et du menu "Detect EFI boot loaders". Rien avec le boot menu de mon BIOS (F11).

J'avais pourtant pris soin, depuis la réception de mon nouveau matériel quelques jours avant, de désactiver le "Secure Boot" et le "Fast Boot" dans le BIOS de ma carte mère MSI.
Pourtant, avec l'installation d'une Xubuntu (installation qui elle me donne accès à une option pour placer Grub sur la partition de mon choix), tout se passait parfaitement si je choisissais la partition du Windows Boot Loaders pour y installer Grub.

Après pas mal d'hésitations et de tergiversations, et grâce aux commentaires laissés sur ce blog, j'ai compris que :
- dans mon cas, j'installe Linux sur un disque (/dev/sda) et j'ai un autre disque qui possède Windows 10 d'installé (/deb/sdb). Le Wiki de Manjaro ou celui d'Archlinux ne prend pas ce cas de figure en compte dans ces exemples... Et ça m'a bien fait balader !
- même s'il peut être utile de créer une partition EFI/ESP en FAT32 sous Linux (dans le cas ou le disque Windows viendrait à tomber en rade), ca n'est que facultatif et il faut donc "utiliser" la partition du Windows Boot Loaders pour y installer Grub (/dev/sdb2 dans mon cas)

Et voici donc comment je suis parvenu à mes fins. Après l'installation de Manjaro, j'ai booté sur Manjaro grâce au live-cd. Puis j'ai sélectionné "Detect Efi Boot Loaders". On arrive alors dans un menu où, en haut, on voit l'entrée Manjaro. On sélectionne cette entrée et cela nous amène directement sur Grub ! Il n'y a plus qu'a lancer Manjaro !

J'ai ensuite, en console, monté la partition du Windows Boot Loader de Windows 10 en /mnt :

# mount -t vfat /dev/sdb2 /mnt

Dans /mnt, on trouve donc maintenant un répertoire EFI et dedans on a le loader Windows (bootx64.efi).

On installe 2 paquets indispensables pour le multiboot (si cela n'est pas déjà fait) : 

# pacman -S os-prober efibootmgr

Puis on re-installe Grub "au bon endroit" :

grub-install --target=x86_64-efi --efi-directory=/mnt --bootloader-id=Manjaro --recheck 

Puis on n'oublie pas de faire :

# update-grub

et :

# umount /mnt

On reboot enfin le PC et ... BINGO !!! Grub apparait avec 3 lignes : Manjaro, Options avancées pour Manjaro Linux, Windows Boot Manager

Il est donc bien dommage (!) que Manjaro "n'arrive pas" à s'installer "convenablement" dans le cas d'un multiboot avec 2 disques.
Est-ce volontaire ?
Qu'en pensez-vous ?

UEFI m'a tuer

Rédigé par citizenz 23 commentaires

Je vous présente UEFI : le standard Unified Extensible Firmware Interface (UEFI, "Interface micrologicielle extensible unifiée") définit un logiciel intermédiaire entre le micrologiciel (firmware) et le système d'exploitation (OS) d'un ordinateur.
Interface logicielle désormais commune à tous les ordinateurs récents, particulièrement ceux vendus depuis 2010, elle vient se placer entre le micrologiciel (firmware) et le système d'exploitation pour permettre de contrôler les paramètres de l'ordinateur.
A ce titre, elle remplace la traditionnelle interface du BIOS. Puisqu'il s'agit d'un système différent du BIOS, il est important de comprendre ce qu'est l'UEFI avant d'entreprendre l'installation de Linux, ... nous dit le wiki d'Ubuntu, de Manjaro ou même Wikipedia.

Je vous avais dit que mon ordi avait "cramé", il y a déjà quelques jours et que j'avais reçu du nouveau matos.
Donc changement de config : ma carte mère, tout nouvelle et fraîche (MSI B150 PC MATE) affiche un menu permettant de sélectionner une option "Windows 8.1/10" qui active l'EFI, le fast startup et le "Secure boot". Le "Secure boot", cette merveille d'invention qui permet aux linuxiens entre autres de se faire des cheveux blanc avant l'âge.
Mais cela implique aussi un changement (gros !) : la table de partition est désormais en GPT (Guid Partition Table). Adieu la table msdos et le MBR !
Cela implique également un changement dans la manière de faire booter l'OS...
Il faut désormais créer une partition de boot dédiée avec un fichier .efi.
Windows 10 utilise ce type de partition : ESP (EFI System Partition, formatée en FAT32).
(PS pour les connaisseurs : ESP, c'est pas la marque de la guitare d'Adrian Smith).
Bref autant dire que quand on a passé les 6 dernières années sur un bon vieux AMD Phenom II X6 et une version famille de Windows 7, on arrive dans un monde étrange ! :)

Je sais : je ne suis pas doué :/ J'ai mis plus de 48h avant de piger la bonne config de ma carte mère (le coup du "Secure Boot", je l'ai pas vu venir !) et avant de piger que par défaut Manjaro Linux ... n'installe pas Grub au bon endroit (en tout cas, je ne sais pas faire !).
En effet, après avoir installé Windows 10 sur mon disque sdb (disque 1To) j'ai souhaité installer Manjaro Linux sur mon disque sda (SSD 128 Go).
Mais en utilisant l'installateur graphique plus l'option "Effacer tout le disque", même si l'installation se passe sans problème, c'est au reboot que ça ne va plus : pas de GRUB ! :/ Ca reboot sous Windows 10 comme si de rien n'était.
Ni une, ni deux, je vais dans le BIOS vérifier mon Boot Menu : pas de disque SSD avec Manjaro, rien ! Il n'apparait pas.
Pourtant, grâce au Live-CD de Manjaro, je peux aller dans "Detect EFI boot loaders" et ma partition EFI Manjaro apparait en (hd0, gpt1). En validant cette entrée, j'arrive sur Grub... qui m'ouvre Manjaro...

Même soucis d'ailleurs, en passant par le menu de partitionnement "Autre" et en partitionnant tout à la main. Même punition.
En fait, j'ai peut-être mal vu, mais je n'ai pas trouvé de menu pour Grub qui permet généralement de choisir où Grub doit être installé. Et, d'après quelques renseignements et infos glânés ici et là, il faudrait que Grub soit installé sur la partition du Windows Boot Manager, c'est à dire pour moi en sdb2.

J'ai eu l'idée de faire un test avec Xubuntu. Installation sur le SSD. Et là il y avait un menu pour Grub. J'ai donc choisi d'installer Grub sur sdb2 et au reboot : BINGO ! Aucun problème, j'avais le Grub avec Ubuntu, Windows 10 (Windows Boot Loader).

Donc il y a certainement une manière de faire pour Manjaro et Arch Linux mais je ne l'ai pas encore trouvée.
Faut-il après l'installation reinstaller Grub avec quelques "commandes magiques" ? Quelles sont-elles ?
Je vous laisse, je découvre Xubuntu avec ses bons et ses mauvais côtés mais dès que possible, je retourne sous Arch !

Ben oui, on ne se refait pas !

Fil RSS des articles de ce mot clé