Installer Linux sur un portable HP ProBook x360 G1 11 EE

Je ne pensais pas qu’en 2019, j’aurais besoin de vous aider, et de rédiger un article sur « comment installer Linux ». Ça semblait être devenu tellement facile… Jusqu’à ce que j’essaie sur cette machine.

Le HP ProBook x360 G1 11 EE est un petit portable sympa, avec un écran tactile, pouvant se transformer en tablette, et qui a été largement distribué à travers des expérimentations de Lycées numériques (remplacement des manuels scolaires papiers par leurs versions électroniques bourrées de DRM et obligeant à visualiser les cours avec des viewers horribles qui ne fonctionnent que sous Windows, la plupart mal fichus et rappelant l’informatique du siècle dernier ; mais là est un autre problème). Mon grand a eu le sien subventionné par la Région Grand Est, mais j’ai cru comprendre que d’autres régions avaient fait le même choix (la Région Occitanie/Pyrénées-Méditerranée a distribué un portable appelé « lOrdi » qui semble être ce même modèle).

Or, ce modèle destiné à l’enseignement est né d’un partenariat avec Microsoft, qui a pour conséquence… que le BIOS (enfin, le microprogramme UEFI) de la bête est bridé, et ne permet pas de lancer Linux ! Enfin, en creusant un peu, on se rend compte assez vite que tout n’est pas si noir. Les ingénieurs HP n’ont pas cherché beaucoup pour réaliser ce bridage, et se sont contentés d’interdire le lancement de GRUB (ce qui est déjà bien casse-pied, vu qu’une immense majorité des distributions Linux utilisent GRUB2 comme système de boot).

Une semaine après avoir eu la bête entre les mains, je suis un homme heureux : mon HP x360 EE est en dual boot Windows 10 / KUbuntu (n’aimant pas GNOME3, et trouvant que Linux Mint prend une mauvaise direction avec l’arrivée de bugs en conséquence, je suis revenu à KUbuntu, mais ce que j’explique ici doit fonctionner avec toutes les distributions, sous réserve d’adapter les lignes de code « apt-get » par leur équivalent si votre distribution n’est pas « Debian like »). Pour vous faire gagner du temps, voici mon aventure pour en arriver là.

1) Ce qu’il ne faut pas faire

Ne perdez pas votre temps à tenter d’installer GRUB2 coûte que coûte, même manuellement. J’ai essayé, beaucoup ont essayé (, , …même ils n’étaient pas loin, mais après, pas simple de faire les mises à jours de Linux), mais on finit toujours par se casser les dents (en particulier avec toutes les commandes basées sur « efibootmgr » qui échouent, l’accès au paramétrage de l’UEFI de la bête étant quand même bien bridé).

Une bonne solution serait certainement d’arrêter d’utiliser GRUB, et d’utiliser à la place (par exemple) Syslinux. Mais comme les distributions que j’utilise ne gèrent pas Syslinux (ou autre), il fallait tout se faire à la main. Pour l’installation, et surtout, gérer les erreurs à chaque mise à jour du noyau Linux (et faire ces mise à jour à la main). S’il n’y avait pas eu d’autres choix, j’en serais certainement arrivé là… mais c’eut été une suite de bonnes galères (je suis trop vieux — et devenu trop fénéant — pour ça).

J’ai cru au miracle en tombant sur ce document PDF de Vincent Hyvert, qui utilise « rEFInd » comme boot manager. Sauf que… malheureusement, ce document se limite à expliquer comment créer une clé USB de boot, qui permet ensuite de lancer le Linux installé sur le PC. Il faut donc toujours avoir cette clé sous la main, et passer par elle pour booter sous Linux. Néanmoins, ce document a été la révélation qui m’a apporté la solution, à savoir : utiliser « rEFInd ».

La chose à ne pas faire non plus est de suivre la documentation officielle de rEFInd. J’ai suivi la doc (§2.3) à la lettre, et je me suis retrouvé avec un PC qui, au boot, vous propose le choix entre Windows (très bien, ça marche), ou « Refind ». Et en choisissant ce second, ça lance Windows qui détecte un problème, et qui vous lance le système de réparation automatique. Pas glop.

N’y arrivant pas sous Windows, j’ai essayé avec la clé d’installation Ubuntu (enfin KUbuntu pour moi). J’ai installé le système, il y a échec d’installation de GRUB à la fin. Je reprends alors la main, je monte ma partition root+boot, et je lance dessus l’installation de « apt-get install refind » (oui, il y a un paquet rEFInd officiel depuis Ubuntu 18.04). J’ai alors essayé plein de trucs… en vain (c’est probablement possible d’y arriver, mais j’ai dû louper quelque chose).

2) Ce qu’il faut faire (principe théorique)

Au final, la solution est assez simple. Mais contrairement à ce que propose la documentation de rEFInd (installation depuis Windows), il ne faut pas « créez un nouveau chargeur de démarrage » qui s’appellerait Refind, en parallèle de celui de Windows (ça ne fonctionne pas, Cf. précédent chapitre). Il faut simplement… écraser le « Gestionnaire de démarrage Windows » par rEFInd.

Petit rappel pour mieux comprendre ce qu’on va faire. Depuis le remplacement du BIOS traditionnel par l’UEFI, il faut avoir sur votre disque une partition « ESP » de type « EFI », formatée en FAT32. En général, cette partition « ESP » un peu spéciale ne contient qu’un seul dossier : « EFI ». Et lui contient d’autres sous-dossiers (« Microsoft », « Boot », voire des dossiers copiés par votre distribution Linux comme « Ubuntu », etc.). Au moment du boot, l’UEFI interroge sa configuration de boot (la BCD, pour Boot Configuration Data). La BCD contient plusieurs entrées, dont une qui s’appelle « boot manager » (identifiée par le nom « bootmgr »). L’UEFI va alors charger le programme pointé par cette entrée. Quand il n’y a qu’un Windows 10 sur le PC, le boot manager est sur la partition « ESP », et il s’agit du programme contenu dans le fichier « \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI ». Une fois ce programme chargé, il va lister les différents « chargeurs de démarrage » qui sont dans la BCD. C’est là qu’il peut trouver celui de Windows (qui n’est pas sur la partition « ESP », mais simplement dans votre dossier « Windows » de votre partition « C:\ », soit « Windows\System32\winload.efi » en ce qui me concerne), mais il y trouve aussi ceux ajoutés par Linux, comme GRUB. On l’a vu, ajouter rEFInd comme nouveau « chargeur de démarrage » qui serait chargé par le « boot manager » standard échoue. On va donc remplacer le « boot manager » standard par rEFInd. Voici comment.

3) Ce qu’il faut faire (en pratique)

A ce stade, on suppose que vous êtes assez à l’aise pour avoir :

  • installé Windows 10, en laissant de la place sur le disque pour installer Linux (pour ma part, j’ai laissé ~ 22,2 Go libres pour Linux) ;
  • créé une clé USB d’installation Linux (Debian, Ubuntu, ou autre). Cette clé doit être créée avec la commande « dd » depuis un autre PC Linux, ou bien sous Windows par exemple avec l’utilitaire Rufus, en faisant bien attention de sélectionner la méthode « dd » (et surtout pas « ISO ») au moment de créer la clé ;
  • installé Linux en parallèle de Windows avec cette clé. Pour ma part, j’ai choisi de partitionner manuellement mon disque, j’ai ajouté une partition ext4 de 11 Go comme racine « / », une partition de 11 Go ext4 pour « /home », et les 200 Mo restant comme partition de swap, histoire de ne pas gâcher 😉 Évidement, tout à la fin, vous avez le droit à un message d’erreur vous indiquant que l’installation de Grub a échoué. On s’en doutait… éteignez le PC, et démarrez-le (il démarre alors normalement sous Windows).

Si vous avez déjà fait des choses avec votre Windows, c’est le bon moment pour faire des sauvegardes. Même si ce qu’on va bidouiller doit certainement se réparer facilement en bootant sur la clé d’installation de Windows, et en demandant une réparation, on n’est jamais trop prudent.

Sur votre HP x360 EE démarré sous Windows, téléchargez le fichier refind-bin-xxx.zip (avec xxx le numéro de version) depuis ce site. A l’heure où j’écris cet article, il faut aller dans le dossier « 0.11.4 » et télécharger « refind-bin-0.11.4.zip » ; à vous d’adapter si de nouvelles versions sont sorties depuis).

Décompressez ce fichier ZIP (par exemple avec 7zip en faisant un clic droit sur l’archive, et en choisissant « 7zip>extraire vers refind-bin-xxx »). Ouvez le dossier « refind-bin-xxx » nouvellement créé dans l’explorateur Windows, et déroulez le menu « Fichier>Ouvrir Windows PowerShell>Ouvrir Windows PowerShell en tant qu’administrateur ». Juste pour vérifier, taper une commande « DIR ». Vous devez voir s’afficher des dossiers « banners », « docs », etc., et surtout un dossier « refind ». Si tout est OK, nous allons monter la fameuse partition « ESP » par un :

mountvol S: /S

Nous allons copier le dossier « refind » vers la partition « ESP » (surtout ne pas oublier de terminer par un anti-slash) :

xcopy /E refind S:\EFI\refind\

On va dans ce nouveau dossier « refind » et on vérifie que tout est OK :

cd S:\EFI\refind
dir

Vous deviez voir (notamment) un fichier « refind.conf-sample » que nous allons utiliser comme trame de fichier de configuration pour notre rEFInd :

copy refind.conf-sample refind.conf
notepad refind.conf

Le bloc notes Windows s’ouvre alors avec le contenu du fichier « refind.conf ». Comme l’écran de notre HP x360 EE a la bonne idée d’être tactile, nous allons activer la souris et l’écran tactile. Pour ça, nous allons rechercher la ligne « #enable_touch », et supprimer le « # » qui se trouve à gauche (qui avait pour rôle de commenter la ligne). De même, un peu plus loin, supprimer le « # » à gauche de la ligne « #enable_mouse ». Faites alors « Fichier>Enregistrer », puis « Fichier>Quitter ». De retour dans le PowerShell, nous allons pouvoir mettre rEFInd comme « boot manager », avec la commande (ne pas oublier le caractère cote ‘ avant et après les accolades) :

bcdedit /set '{bootmgr}' path \EFI\refind\refind_x64.efi

Et… c’est tout pour ce qui est de l’installation de rEFInd, vous pouvez éteindre le PC. Par contre, coté Linux… Grub est encore là. Et une mise à jour « sudo apt-get distupgrade » échouerait si un nouveau noyau Linux venait à sortir. Il suffit donc de supprimer définitivement Grub de votre installation Linux (ce qui ne pose pas de problème, c’est rEFInd qui gère le démarrage maintenant).

Aussi, allumez le PC. Vous devriez avoir rEFInd qui s’affiche. Si on voulait démarrer Windows, il suffirait de cliquer (carrément sur l’écran tactile, la classe non ?) sur l’icône Windows pour que le PC démarre… Windows. Mais nous, nous allons cliquer sur l’icône « Linux » la plus à droite. Si vous avez bien travaillé, Linux démarre normalement. Il ne reste qu’à vous authentifier, à lancer une fenêtre de terminal, et à taper :

sudo apt-get -y remove grub2-common grub-common grub-pc grub-pc-bin

Vous pouvez enfin mettre à jour votre Linux, et utiliser votre PC normalement.

Edit du 06/10/2019: après la dernière mise à jour Linux (nouveau noyau), le touchpad s’est mis à ne plus fonctionner. Si ça vous arrive aussi, la procédure est toute simple, la voici : https://desvigne.org/2019/10/06/faire-fonctionner-le-touch-pad-du-hp-probook-x360-g1-11-ee-sous-linux/

Edit du 08/06/2020: pour créer la clé USB bootable, au lieu d’utiliser Rufus, je vous invite plutôt à utiliser l’excellent ventoy. Je vous aurais bien fait un tuto, mais c’est inutile, le Crabe Info vous en a fait un ici.


Commentaire

Installer Linux sur un portable HP ProBook x360 G1 11 EE — 39 commentaires

  1. Merci infiniment pour ce tuto qui m’a sauvé pas mal de journées de bidouillage excessif ! Linuxien depuis un bon bout de temps, je ne savais pas que rEFInd allait me sauver la mise ! Le tuto est super ! Encore merci !!!

  2. Super ça marche merci, sur ma version de Windows j’ai du moi enlever le caractère cote ‘ avant et après les accolades’ pour le bcdedit, sinon c’est super facile à suivre! Quel détail est travail d’écriture pédagogique pour ce tuto, c’est génial bravo…

  3. essayant depuis plus d’un mois d’installer linux, j’ai completement craquer et viré windows donc mon disque est vide, yaurai t’il un moyen d’installer refind depuis le live usb ?

    • @likeven : sur un PC « normal », en suivant la méthode 3.3 (ou 3.4 si tu te sens fort) de ce tuto https://doc.ubuntu-fr.org/refind , c’est tout à fait possible. Sur ce PC bridé… probablement, mais pas sûr. Et en tout cas pas en suivant simplement le tuto (même si je n’ai pas testé)… Il faudrait faire autrement. Le principe que j’ai en tête est assez simple, mais demande tout de même quelques compétences de sysadmin. En principe, il suffit de lancer l’installation de Linux (et cette installation doit planter à la fin au moment de la tentative de mise en place de Grub). A ce stade (après le message de plantage de fin d’installation), il faut lancer un shell en étant root (sudo su -), puis monter les devices de ton disque (montage de type « bind » sur l’arborescence de ton installation — pour ça, tu peux suivre les tuto de réinstallation de Grub pour t’inspirer ; par exemple, inspire toi du § 3.3 de https://doc.ubuntu-fr.org/tutoriel/comment_restaurer_grub et tu t’arrêtes juste avant le « apt-get install grub-pc » — ), faire un « chroot » sur cette arborescence, et seulement là, installer rEFInd. Voilà le principe, je te laisse tester si tu le sens. Et alors, n’oublie pas de venir nous dire… 🙂

  4. Salut, merci pour ce tuto. En effet, après avoir eu un blocage sur win 10, j’ai effectué une réinstalle en linux mint… Malheureusement, après avoir vérifier que le live fonctionnait correctement, je ne m’étais pas renseigné que l’ordi était verrouillé pour Grub… Avec rescatux, j’ai pu reprendre le grub afin de pouvoir booter sur ma partition. J’ai installé refind en console puis j’ai remplacé grub avec celui-ci. Tout fonctionne parfaitement.
    Si ça peut aider ! 😉

  5. Bonjour. Je rebondis sur l’installation de refind lorsque windows a été viré (18 novembre 2019) . C’est traité dans la documentation de refind le principe est d’installer refind avec le support d’installation puis de le déposer dans la structure de boot recréée pour l’occasion ( un sous-ensemble du paragraphe »booter avec une installation refind bridée »)

  6. Bonjour. Je rebondis sur l’installation de refind lorsque windows a été supprimé en date du 18 novembre 2019: Il suffit d’installer refind à partir du support d’installation et le transférer dans la structure de boot de windows recréée pour l’occasion (sous-ensemble de « booter avec une installation windows bridée »).

  7. un grand merci a toi je pense que tu devrait faire le tuto sur ytb sinon moi je veut bien le faire en disant que c’est ta technique etc.

  8. Bonjour, merci pour ce tuto. Mais j’ai une question, j’utilise Kubuntu et je voudrais savoir s’il est possible de complètement supprimer windows du pc ? Aussi j’ai un petit problème, j’ai plusieurs entrée qui sont apparues dans refind, comment on fait pour les supprimer ?

  9. Bonjour !
    J’ai tenté votre tuto, et je me trouves un peu dans la panade,
    après avoir installer rEFInd, je démarre mon PC et… je suis sur GNU GRUB, j’ai redemarrer plusieurs fois.. aucune possibilité de boot ni sur windows, ni sur linux, comment est-ce que je fais pour boot avec rEFInd ?
    Merci

    • Bonjour @Minkavi, clairement, tu as dû louper une étape ? Quoi qu’il en soit, pas de panique. Au pire, il y a toujours la solution de booter sur une clé d’installation de Windows 10, et de choisir une réparation de Windows. Bon courage 🙂

  10. J’ai tout refait, la même chose, qunad je redémarre, j’suis sur le GNU GRUB et je sais toujours pas comment m’en sortir

    • J’ai le même problème, je penses que cela vient de mes précédents échecs d’installation d’ubuntu mais je ne sais pas du tout comment enlever le GNU GRUB.

  11. Ca faisais 2 jours que je comprenais pas pourquoi Grub voulais pas s’installer sur ce pc de la région. Merci beaucoup pour ce tuto! Et j’ai aussi devellopé une haine contre les informaticien de chez hp pour nous avoir pondu un bridage de grub, c est assez insuportable.

    Merci beaucoup!!

  12. Bonjour
    merci pour ce tuto qui va me faire gagner beaucoup de temps.
    Avant de me lancer dans l’installation, je voulais savoir si l’écran tactile est bien géré avec linux ?
    Merci par avance

    • Actuellement sur une clé live, qui tourne sur Void, l’écran tactile fonctionne parfaitement, j’imagine que ce serait similaire avec tout autre distribution

      • @Sarah: honêtement, je ne sais pas. Le BIOS bloquait toutes les distributions s’appuyant sur GRUB quand j’ai écrit l’article. Je n’utilise plus ce portable maintenant, et possible que GRUB ait évolué pour contourner ce genre de bridage ? Possible, je n’ai plus le moyen de tester. En tout cas, heureux si une distribution Linux light permet de redonner vie à ce genre de vieux matériel 🙂

        • Après, Void et Arch sont assez similaire sur pas mal de points, donc si quelque chose marche sur l’un, grandes chances que ça marche aussi sur l’autre

  13. J »ai essayé d’installer Void Linux (une petite distro minimaliste, de l’esprit de Arch, mais avec des différences notables, comme Runit au lieu de Systemd, XBPS au lieu de pacman …) sur cette machine, mais au moment ou l’installer essaie d’installer GRUB, le bios ne le laisse pas, cependant le reste de la partition reste écrite, je me demande si juste placer rEFInd à l’emplacement ou GRUB devrait être et finir l’installation à la main via chroot sera suffisant …

      • j’utilise rEFInd donc pas de soucis, le bios bloque effectivement GRUB à l’installation, mais pas au lancement, donc je n’ai pas à bidouiller la clé live, seulement l’installation sur l’ordi

    • Bonjour, alors là, il n’y a aucune difficulté pour installer Windows 7. Le PC est bridé pour Linux, pas pour Windows. De mémoire, le PC n’a pas de lecteur CD/DVD, mais vous pouvez passer par une clé USB bootable. Moi, j’aime bien créer une clé bootable « Ventoy ». Après, il y a une partition sur la clé USB où on met ses images ISO dedans (il suffit alors de mettre l’ISO de Windows 7 dessus). Il y a plein de tutos sur le net, comme par exemple ici : https://www.tutos-informatique.com/ventoy-cle-usb-multiboot/
      Bonne chance…

    • Bonjour, alors là, il n’y a aucune difficulté pour installer Windows 7. Le PC est bridé pour Linux, pas pour Windows. De mémoire, le PC n’a pas de lecteur CD/DVD, mais vous pouvez passer par une clé USB bootable. Moi, j’aime bien créer une clé bootable « Ventoy ». Après, il y a une partition sur la clé USB où on met ses images ISO dedans (il suffit alors de mettre l’ISO de Windows 7 dessus). Il y a plein de tutos sur le net, comme par exemple ici : https://www.tutos-informatique.com/ventoy-cle-usb-multiboot/
      Bonne chance…

Répondre à geole Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *