URL: https://linuxfr.org/users/pied/journaux/uefi-y-a-pas-que-les-linuxiens-qui-pleurent Title: UEFI : y'a pas que les linuxiens qui pleurent... Authors: Pinaraf Date: 2022年06月21日T20:26:14+02:00 License: CC By-SA Tags: uefi, firefox, snap, tpm, windows, microsoft et iso Score: 49 Bonjour bonjour Aujourd'hui, mauvaise surprise : un ami se pointe avec un ordinateur portable «reconditionné» acheté à son travail, donc disque vierge de tout OS, et me demande d'y installer Windows, éventuellement Linux en dual boot... Bon. Ça me gonfle d'avoir une installation de Windows à faire, mais soit, je suis (trop) gentil, je devrais vraiment pas accepter ça mais j'accepte. Puis c'est pas très compliqué : on télécharge l'ISO, on la copie sur clé USB avec dd, et le tour est joué... Le téléchargement d'un Windows 10... ================================== Microsoft, au moins jusqu'à Windows 10, mais probablement pareil pour le 11, ne fournit pas d'ISO hybride. C'est une ISO de CD à graver absolument sur DVD ou BD, ce n'est pas une table de partitions valide pour une clé USB. Donc vous pouvez faire dd, mais derrière le BIOS/UEFI va refuser le truc, méchamment. C'est un piège connu, mais comme un bleu, je suis tombé dedans. (Et ça m'a pris quelques reboot) Note : première copie de 5GB en USB... Copier l'ISO sur une clé USB ============================ Bon ben je formate ma clé USB, en FAT32, et je copie dedans les fichiers de l'ISO Windows préalablement montée. Ha ben non, y'a un fichier de plus de 4GB pour l'installation, ça ne passe pas en FAT32. Note : deuxième copie de 5GB en USB... Copier l'ISO sur une clé USB, bis ================================= Je formate ma clé USB en NTFS, je copie les fichiers de l'ISO. Voilà, là ça devrait être enfin bon, non ? Non Du tout. Ça boote pas, le firmware n'affiche aucun message d'erreur, c'est comme si la clé était vide. Note : troisième copie de 5GB en USB... Inversons l'ordre d'installation ================================ Puisque l'installeur Windows ne démarre pas pour une raison inconnue, autant installer d'abord un Linux pour que j'ai des éléments de diagnostic et d'analyse de la situation. Là évidemment, pas grand chose à signaler (à part qu'une installation de Kubuntu par défaut sort des snap pour des applis comme Firefox, ce qui est horripilant et accroit considérablement le temps de démarrage de Firefox). Je laisse volontairement une partition vierge que je formaterai et monterai en NTFS après coup pour y copier l'ISO windows (gain de temps par rapport à l'USB). Note : cette fois c'est seulement 3.5GB (wow ça a pris du poids ubuntu) copiés en USB Retentative d'installation de Windows ===================================== Bon, j'ai un linux, efibootmgr, de quoi télécharger et déposer des fichiers localement. C'est plus confortable, ça devrait devenir facile. Je tente de rajouter une entrée pointant vers la partition, avec le bot fichier .efi à booter. Échec, nada, quedal. Je copie dans la partition ESP (/boot/efi) les fichiers efi et le dossier boot de l'ISO windows. Ça devrait lancer l'installeur et me permettre de lui dire où sont ses petits, non ? Non ? Non. «Disque corrompu, fichiers introuvables» Merci. Je gromelle, je tape du poing sur la table, je mets un bandage sur ma main, et je me dis «bon, ben on va tenter le shell EFI» Téléchargement depuis https://github.com/tianocore/edk2/releases, copie dans /boot/efi, ajout d'une entrée de boot pour ça, redémarrage... Hoo, il ne voit que la partition /boot/efi, les autres sont vues mais pas «montées». Listons les pilotes avec la commande EFI drivers : Mais... il n'y a que FAT ? Pas NTFS, pas ISO, pas UDF... ?? Ben non. Du coup, si on veut booter l'installation de Windows sur une telle machine, comment est-on supposé faire ? Rufus, projet libre indispensable... ================================== C'est là qu'arrive un projet libre indispensable, https://rufus.ie/en/ (et ses projets liés) C'est avant tout un utilitaire Windows pour écrire des ISOs sur des CD/DVD/BD/clé USB, mais avec quelques options très intéressantes comme «permettre de démarrer l'installeur Windows même si l'UEFI ne gère pas NTFS». Ce qui m'arrange moins, c'est que c'est un utilitaire Windows, donc je vais devoir prendre les différents éléments utiles et les déposer dans le /boot/efi du Linux. Les éléments en question sont : - UEFI:NTFS : un bootloader (une application UEFI quoi) qui va chercher le pilote NTFS, une partition NTFS et démarrer l'exécutable /efi/boot/boot$arch.efi dedans - un port de ntfs-3g en EFI OU un port des systèmes de fichiers de grub Quoi ? Comment ça «OU» ? Apprenons une puputerie de Microsoft à l'occasion : pour valider secure boot, il faut que tous les composants soient signés. Et la signature de Microsoft est la seule reconnue dans tous les UEFI. Donc il faut demander (poliment) à Microsoft de signer l'exécutable. Or... a priori Microsoft refuse de signer des exécutables sous licence GPL3. Du coup, vous pouvez utiliser le pilote ntfs.efi derivé de ntfs-3g en licence GPL2, ou utiliser un ntfs.efi dérivé de Grub, en GPL3, donc qui ne peut être signé par Microsoft. Bref. Je pose les bons fichiers, je démarre le shell EFI, je lance uefi:ntfs... Et alleluia, l'installeur Windows démarre ! Conclusion pathétique à un triste journal ========================================= L'installation de Windows est en plusieurs étapes, avec quelques redémarrages. S'ils veulent après tout, tant que ça marche... Au deuxième ou troisième redémarrage, j'ai été accueilli par un merveilleux écran Windows pour la création de compte, avec comme titre : «Bienvenue chez $CORP Pour vous authentifier, veuillez saisir votre adresse mail @$CORP.COM» Voilà. Le reconditionnement d'un PC pro, c'est pas juste formater le disque, c'est aussi supprimer des variables EFI qui me sont inconnues ! Ou des éléments dans la puce TPM qui sait... Ayant ~~pris la machine en~~ choppé une grippe, j'ai pas regardé encore comment rattraper ça. Mais le prochain que j'entends me dire qu'installer Linux ou même FreeBSD c'est compliqué, je lui fais manger un clavier.

AltStyle によって変換されたページ (->オリジナル) /