{{tag>système installation amorçage}} ---- ====== Ordinateurs avec UEFI (~EFI) ====== {{ :visual_bios.jpg|Intel Visual BIOS, l'une des nombreuses interfaces UEFI}} **Unified Extensible Firmware Interface** ([[wpfr>UEFI]]) est une 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. À ce titre, elle remplace le traditionnel [[wpfr>environnement en mode texte]] 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 d'Ubuntu. On retrouve parfois l'appellation « EFI » pour désigner cette interface. À l'origine, EFI était développé par Intel. Les spécifications ont été reprises par un ensemble d'acteurs informatiques réunis en un seul groupe, l'//UEFI Forum//, puis distribuées sous l'appellation « UEFI ». Dans le présent document et dans les forums d'aide, à moins d'un avis contraire, ces deux termes désignent essentiellement la même chose. ===== Installer rapidement Ubuntu sur un PC récent (sans se soucier de l'EFI) ===== Dans toutes les versions supportées d'Ubuntu, l'installateur reconnaît la présence de Windows 8/10® pré-installé en mode EFI. De plus, ces versions d'Ubuntu s'affranchissent de la [[:[[:desactiver_secure_boot|désactivation du Secure Boot]].\\ Il est donc impératif d'utiliser une version supportée d'Ubuntu. Si votre ordinateur est récent (> 2010) et que vous ne savez pas ou vous n'avez pas besoin d'installer Ubuntu en mode UEFI, vous devriez être en mesure d'installer Ubuntu rapidement et correctement en suivant les étapes suivantes : - [[:tutoriel:obtenir_cd_ubuntu|Procurez-vous un média d'installation d'Ubuntu (un DVD ou un liveUSB)]] **64bits** international ≥ [[:xenial|Ubuntu 16.04]] ou [[:bionic|Ubuntu 18.04 LTS]] ou [[:focal|Ubuntu 20.04 LTS]] . - Prenez les [[:cohabitation_ubuntu_windows|précautions habituelles pour la cohabitation d'Ubuntu avec Windows]]. - Dans le %%BIOS%%, désactiver le **QuickBoot** (parfois appelé **FastBoot**)(([[http://ubuntuforums.org/showpost.php?p=12397979&postcount=9]])) et [[http://ubuntuforums.org/showpost.php?p=12460938&postcount=6|Intel Smart Response Technology]] (SRT). Si vous avez Windows 8/10® pré-installé, [[:tutoriel:ntfs#probleme_connu|désactivez le démarrage rapide]] ([[http://www.eightforums.com/tutorials/6320-fast-startup-turn-off-windows-8-a.html|"Fast Startup" Off]]). - [[:tutoriel:amorcer_sur_cd_ubuntu|Démarrez votre ordinateur sur ce média d'installation, choisissez « Try Ubuntu without installing »]]. \\ **Remarques :** * Pour ceux qui ont Windows 8/10® pré-installé, assurez-vous que l'ordinateur démarre en mode EFI depuis le média d'installation (présence de l'interface GNU GRUB 2) comme expliqué au paragraphe [[#Vérifier si l'ordinateur démarre en mode EFI sur le disque dur (ou sur le support Live)]] : cela permet d'éviter d'avoir à [[#convertir Ubuntu en mode EFI]] ultérieurement. * Si vous avez une erreur **Secure boot** ou **wrong signature**, désactivez le SecureBoot comme indiqué dans [[#activerdesactiver_le_secure_boot|ce paragraphe]] ou dans [[:desactiver_secure_boot|cette documentation]]. - [[:tutoriel:installer_ubuntu_avec_le_live_cd|Installez Ubuntu normalement]] (sans vous préoccuper de l'EFI). - Redémarrez l'ordinateur. Une fois redémarré : * si Windows® démarre sur un écran bleu « //Your PC needs to be repaired// », suivez [[http://forum.ubuntu-fr.org/viewtopic.php?pid=12399801#p12399801|ces instructions]] ; * si l'ordinateur ne démarre pas sur Ubuntu (mais directement sur Windows® par exemple), il suffira de [[:tutoriel:amorcer_sur_cd_ubuntu|démarrer à nouveau sur votre Média d'installation Ubuntu, choisir « Essayer Ubuntu »]] puis lancer [[:Boot-Repair]] afin de mettre Ubuntu dans le bon mode (normalement il suffit d'un clic sur le bouton « Réparation recommandée », sinon voir [[#convertir_ubuntu_en_mode_efi_ou_non-efi|ce paragraphe]] ou suivez [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21604079#p21604079|ces instructions]]). ===== Installer Ubuntu en mode EFI ===== Avertissement : si vous êtes débutant, mieux vaut suivre les conseils du paragraphe précédent. ==== Cas où il faut installer Ubuntu en mode EFI ==== Le fait d'avoir un ordinateur équipé du système UEFI n'implique pas nécessairement que Ubuntu soit installé en mode EFI. Si __les autres systèmes__ (Windows Vista/7/8, GNU/Linux...) de votre ordinateur sont installés en mode EFI, alors il faut installer Ubuntu en mode EFI. Pour le savoir, sous Windows ouvrir le terminal en mode admin (Démarrer → taper ''cmd'' et Ctrl+Maj+Entrée) et taper ''bcdedit''. S'affichent deux blocs d'informations. Dans le deuxième, le //path// est le révélateur : s'il finit en ''efi'', le système est installé en EFI. .... Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.efi description Windows 7 Home Premium (recovered) .... * Si les autres systèmes (Windows, GNU/Linux, etc.) de votre ordinateur sont installés en mode classique (hérité/legacy), alors il faut installer Ubuntu en mode classique (hérité/legacy). ⇒ C'est le cas si votre ordinateur est ancien (< 2010), est en 32 bits ou possédait un Windows XP pré-installé par exemple. * Si Ubuntu est le seul système sur votre ordinateur, alors peu importe, vous pouvez l'installer en mode EFI ou pas (hérité/legacy). * Si windows 10 est le seul système déjà installé en mode classique (hérité/legacy), il est préférable de le convertir en [[https://docs.microsoft.com/fr-fr/windows/deployment/mbr-to-gpt|EFI]] avant de faire l'installation. ==== Principe général ==== Pour installer Ubuntu en mode EFI : * il faut utiliser une version d'Ubuntu compatible avec l'EFI (voir //[[#Versions d'Ubuntu démarrables en mode EFI]]// ci-après) ; * il faut que l'ordinateur soit réglé pour démarrer sur le média d'installation en mode UEFI (voir //[[#Identifier si l'ordinateur démarre sur le CD en mode EFI]]// ci-après) ; * Puis : * cela ne change rien si vous utilisez l'installation automatique d'Ubuntu ([[:tutoriel:installer_ubuntu_avec_le_live_cd#etape_3allouer_de_l_espace_disque|« Installer Ubuntu à côté de Windows Boot Manager » ou « Effacer le disque et installer Ubuntu »]]).\\ :!: **Important :** si vous avez Windows pré-installé et que vous souhaitez le conserver, ne choisissez pas « Effacer le disque et installer Ubuntu » car Windows serait écrasé par Ubuntu. * par contre, si vous utilisez le partitionnement manuel ("Autre chose"), la différence est qu'il doit exister une partition EFI (voir //Créer une partition EFI// ci-après). {{ :installation:type_installation_14.04.png?800 |Type d'installation}} ==== Vérifier si l'ordinateur démarre en mode EFI sur le disque dur (ou sur le support Live) ==== Cela n'est possible que si vous avez déjà installé Ubuntu sur le disque dur, ou bien en regardant dans les réglages du BIOS (voir paragraphe ci-dessous). Depuis une session Ubuntu installée sur le disque (à noter que ça fonctionne aussi pour une session liveCD ou liveUSB), il suffit d'ouvrir un [[:terminal]], et saisir la commande suivante : [ -d /sys/firmware/efi ] && echo "Session EFI" || echo "Session non-EFI" FIXME Si le démarrage est en mode classique (le résultat de la commande est "Session non-EFI"), soit le BIOS n'est pas de type UEFI, soit le BIOS est de type UEFI mais n'est pas réglé pour démarrer sur le disque dur en mode UEFI (ou bien qu'il n'y a pas de partition EFI pour démarrer). Il est à ce moment là intéressant, de vérifier dans votre BIOS, si vous êtes en possession de la technologie EFI. Pour trouver la touche pour accéder à votre BIOS, vous pouvez faire un tour [[https://kb.wisc.edu/page.php?id=58779|ici]]. Une autre façon d'obtenir la réponse est de demander l'exécution d'une commande EFI. Si elle répond "**EFI variables are not supported on this system**." on comprendra que la session n'est pas en EFI ! efibootmgr ==== Autre façon d'identifier si l'ordinateur démarre sur le CD (ou la live USB) en mode EFI ==== Remarque : même si votre PC démarre sur le CD (ou la [[live_usb|Live USB]]) en mode EFI, il est possible qu'il démarre sur le disque dur en mode classique (et inversement). Lorsqu'on démarre sur un CD Ubuntu compatible EFI : * si l'ordinateur est réglé pour démarrer sur le CD en mode EFI, vous verrez apparaître l'écran ci-dessous (avec la ligne "Try Ubuntu without installing" présélectionnée) :\\ {{http://pix.toile-libre.org/upload/original/1347270133.png?200}} * si l'ordinateur est réglé pour démarrer sur le CD en mode classique (non-EFI), ou si le CD n'est pas compatible avec l'EFI, vous verrez apparaître l'écran ci-dessous :\\ {{:installation/live_cd_maverick1.png?200}} Dans le cas d'une live USB [[:MultiSystem]], ce moyen d'identification à l'écran n'est pas possible : à la place, on peut utiliser depuis la session live la commande du paragraphe [[#Vérifier si l'ordinateur démarre en mode EFI sur le disque dur (ou sur le support Live)]]. ==== Régler le démarrage en mode EFI ou classique ==== Certains ordinateurs récents (2011 et +) permettent de régler le démarrage soit en mode classique (=mode BIOS) soit en mode UEFI. La manière d'effectuer ce réglage varie selon les ordinateurs, mais généralement ce réglage se situe dans l'onglet "Boot order" du BIOS/UEFI (il faut généralement appuyer sur une touche à l'allumage du PC pour y accéder, voir [[:tutoriel:modifier_ordre_amorcage_du_bios|ce tutoriel]]). Remarque : certains BIOS permettent de régler séparément le mode de démarrage sur CD et celui sur disque dur. Par exemple, ci-dessous : * la ligne "UEFI Hitachi" permet de démarrer sur le disque dur en mode EFI ; * la ligne "P1: Hitachi" permet de démarrer sur le disque dur en mode classique (non EFI) ; * la ligne "P3: DVD" permet de démarrer sur le CD Ubuntu en mode classique ; * la ligne "UEFI: USB" permet de démarrer sur le [[live_usb|liveUSB]] Ubuntu en mode EFI. {{http://pix.toile-libre.org/upload/original/1347270285.jpg?300}} et voici un 2e exemple, plus simple, où le paramètre "Boot Mode" permet de choisir le mode de démarrage ("UEFI" ou "Legacy") sur tous les médias (disque dur, CD, USB, etc.). {{http://pix.toile-libre.org/upload/original/1347270332.jpg?400}} Il existe aussi des firmwares qui proposent une option "UEFI/Legacy Boot:" avec les choix [Legacy only], [UEFI only] et [Both], ce dernier démarrant en priorité en mode EFI, puis en mode Legacy si aucun fichier EFI n'est détecté. ==== Créer une partition EFI ==== Si votre ordinateur boote déjà en EFI avec un autre O.S., il est possible d'utiliser sa partition de boot EFI Si le disque de votre ordinateur est neuf, il faut d'abord créer une table de partitionnement au format GPT avec l'onglet « Périphériques » de [[:/gparted|gparted]]. \\ Si votre disque n'a pas de partition EFI, il faut en créer une avec gparted. Si vous installez ubuntu sur autre disque que le premier, il est souhaitable que la structure de boot soit dans le même disque afin de pas dépendre de l'état physique du premier disque. Vous pouvez choisir:\\ * Soit une installation automatique sur la totalité du disque.\\ * Soit une installation manuelle. Vous devrez alors ne pas oublier de renseigner le point de montage **/boot/efi** avec la partition fat32 que vous aurez préalablement créée dans le disque. La référence de cette partition de boot EFI sera enregistrée dans le fichier **/etc/fstab** lors de l'installation. Si on a configuré l'ordinateur pour qu'il démarre en priorité sur cette seconde unité bootable, disque ou clé USB, et que celle-ci comporte une partition EFI l'ordinateur ira bien y chercher le programme de démarrage **\EFI\boot\bootx64.efi** et le lancer s'il s'y en trouve un. Celui-ci pourra être le **grubx64.efi** (ou le **shimx64.efi** en Secure Boot) linux installé sous ce nom. À ce moment, on n'est encore ni sous Ubuntu, ni sous Windows ni un autre Linux. Si c'est bien le **grubx64.efi** (…), celui-ci va aller lire dans la même partition EFI de notre seconde unité le petit fichier **\EFI\ubuntu\grub.cfg**. Son contenu permet de pointer vers la partition Ubuntu de notre seconde unité pour y lire le gros fichier **/boot/grub/grub.cfg** et continuer le processus de démarrage. Ce fichier représente le menu, et peut être différent d'un homonyme installé sur le premier disque. En cas de multiboots, on peut ainsi avoir des menus différents suivant que l'on démarre depuis le premier disque ou depuis une unité USB. **Il est possible de réparer La structure de booT en lançant [[:/boot-repair|boot-repair]] et en choisissant la bonne partition de boot EFI.** * Dans le cas de Windows 8 ou 10 préinstallé (et certains Windows 7 préinstallés), une partition EFI existe déjà. Si vous installez dans le même disque, il n'est pas utile d'en créer une autre: Cette partition sera réutilisée par l'installateur manuel de Ubuntu sans qu'on ait besoin de définir quoi que ce soit pour elle. * Dans le cas d'une installation Windows 10 après une installation Ubuntu, il semble nécessaire de libérer 60 Go en début du premier disque et déconnecter les autres disques. Les 4 partitions nécessaires à Windows 10 seront alors automatiquement créées. * Une partition EFI peut être créée via une version récente de [[:gParted]] et doit posséder les caractéristiques suivantes : * // Taille : // entre 35 Mo et 512 Mo [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22524076#p22524076|qui est la valeur par défaut]]. Une taille de 7 Mo serait suffisante si vous n'installez pas Windows mais impossible à faire accepter par gparted. **Si l'installation de windows est envisagée, son installateur contrôle que la taille est au moins de 100 Mo.** * // Type : // FAT32 * **// Drapeau :// BOOT (ou ESP si cette option est présente dans GPARTED)** * // Autre : // doit être située en début((= n'importe quel emplacement entièrement inclus dans les 100 premiers Go du disque)) d'un disque partitionné en [[GPT]], * Elle sera automatiquement reconnue par l'installateur d'Ubuntu qui lui attribuera le point de montage suivant : ''/boot/efi''. ((inutile de préciser ce point de montage si vous créez cette partition via l'installateur Ubuntu, cf. [[http://forum.ubuntu-fr.org/viewtopic.php?pid=10719471#p10719471|cette discussion]])) L'installateur subiquity de version 23.10 fabrique cette partition avec une taille de 1075 Mio. Il préférable que cette partition soit entièrement inclue [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22727667#p22727667|dans les 100 premiers Go du disque.]] Les Windows récents ne savent pas accéder à une partition FAT32 de taille supérieure à 32 768 Mio (= 32 Gio). Pas besoin de partition EFI (ESP) sur un disque GPT pour installer Ubuntu seul en mode Bios (legacy, non uefi). ===== Identifier un Ubuntu installé en EFI ===== Depuis l'Ubuntu installé, on regarde si le dossier /sys/firmware/efi existe. Une solution est d'ouvrir un terminal (Ctrl+Alt+T) et de saisir la commande suivante : [ -d /sys/firmware/efi ] && echo "Installé en mode EFI" || echo "Installé en mode classique" Sinon, en analysant le [[:tutoriel:boot-info|Boot-Info]] réalisé depuis une session live, on peut trouver les indices suivants d'un Ubuntu installé en mode EFI : * son fichier /etc/fstab contient une partition EFI (point de montage /boot/efi) ; * il utilise l'amorceur grub-efi (et pas grub-pc). ===== Convertir Ubuntu en mode EFI ou non-EFI ===== ==== Convertir Ubuntu en mode EFI ==== Pour que cette conversion soit possible, il faut régler votre BIOS pour qu'il démarre sur le disque dur en mode EFI (voir le paragraphe [[#Régler le démarrage en mode EFI ou classique]] ci-dessus). De plus, il faut opérer depuis une [[:live_cd#session_livequ_est-ce_que_c_est|session live]] démarrée en mode EFI (voir le paragraphe [[#Identifier si l'ordinateur démarre sur le CD (ou la live USB) en mode EFI]]). * Vérifiez que votre disque a une table de partition GPT et pas MBR, si besoin faites la conversion avec gdisk. * Démarrer [[:Boot-Repair]], cliquer sur "Options avancées", et aller dans l'onglet "Emplacement de GRUB". * Si vous ne voyez pas une ligne "Partition /boot/efi séparée", cela signifie que votre PC n'a pas de partition EFI. Dans ce cas, quittez Boot-Repair, puis créez une partition EFI (voir paragraphe "[[:efi#creer_une_partition_efi|Créer une partition EFI]]" ci-dessus). * Si vous voyez une ligne "Partition /boot/efi séparée", cochez-la puis cliquez sur le bouton "Appliquer". {{http://pix.toile-libre.org/upload/original/1343745232.png?500}} Une partition installée en mode [[http://pix.toile-libre.org/upload/original/1520099209.png|32 bits]] n'est pas convertible par boot-repair en mode EFI. Il suffit de [[:chroot#convertir_un_environnement_32_bits_en_environnement_64_bits|le faire en ligne de commandes]]. Si pour une raison [[https://forum.ubuntu-fr.org/viewtopic.php?id=2076216|spéciale]], vous ne pouvez pas booter en EFI alors que le bios est EFI, vous pouvez tenter de faire cette installation en ligne de commandes. sudo apt install grub-efi-amd64 sudo grub-install /dev/sda --no-nvram --efi-directory=/boot/efi --target=x86_64-efi ==== Convertir Ubuntu en mode classique ==== Vérifier l'existence de la partition [[https://doc.ubuntu-fr.org/gpt#creer_une_partition_bios-boot|bios-boot]]. * Démarrer [[:Boot-Repair]], cliquer sur "Options avancées", aller dans l'onglet "Emplacement de GRUB" * **Décocher** l'option "Partition /boot/efi séparée" * Appliquer * Régler votre BIOS pour qu'il démarre sur le disque dur en mode classique (voir le paragraphe "[[#regler_le_demarrage_en_mode_efi_ou_classique|Régler le démarrage en mode EFI ou classique]]" ci-dessus). Remarque. Comme on part d'une installation UEFI, elle est faite sur un disque dur avec table de partition de type GPT. Pour pouvoir réinstaller Grub avec Boot-Repair en mode Bios_Legacy. Ne pas oublier de créer une petite partition Bios boot de 32Mo [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22524076#p22524076|qui est la valeur par défaut.]] mais 1 Mio est suffisant, sans format de fichiers. Avec le drapeau bios_grub. Elle est destinée à recevoir le core.img. Boot-Repair sait utiliser cette partition si elle est présente avant de réinstaller Grub en mode Bios_Legacy. Sans cette partition l'OS Linux ne peut pas démarrer sur un disque en GPT. Exemple : sdb2: __________________________________________________________________________ File system: BIOS Boot partition Boot sector type: Grub2's core.img Boot sector info: A priori une taille de 1 Mio est amplement suffisante puisque la partition bios boot sert a compenser l'absence du "mbr gap" des disques msdos (espace compris entre le 1er secteur et la première partition pouvant commencer au secteur 63) Bien entendu, si la partition contenant la structure de boot EFI est sur un disque ayant une table de partition MS-DOS, la création de la partition bios-boot est facultative. ===== Activer / désactiver le Secure Boot ===== Le [[wpfr>Unified_Extensible_Firmware_Interface#Lancement_s.C3.A9curis.C3.A9_.28secure_boot.29|Secure Boot]] est une nouvelle fonctionnalité de l'UEFI, apparue en 2012 avec les ordinateurs pré-installés Windows 8. Sa prise en charge par Ubuntu a commencé avec 12.10 (et 12.04.2), mais elle n'est pas complète, donc vous risquez de devoir le désactiver pour pouvoir démarrer Ubuntu. Il ne faut surtout pas désactiver le Secure Boot sur les ordinateurs ACER. Après l'installation il faut définir shimx64.efi comme appartenant aux OS "trusted" pour ceux qui datent d'avant décembre 2017. Les plus récents s'installent normalement avec la version 18.04. FIXME Mettre un lien pour expliquer comment dire que ubuntu est un OS "trusted" serait le bienvenu. FIXME Ci-dessous un exemple de BIOS indiquant que le Secure Boot est activé : {{http://pix.toile-libre.org/upload/original/1353511012.jpg}} Pour désactiver ou activer le Secure Boot, trouvez une option similaire dans votre BIOS et utilisez le clavier pour passer cette ligne de l'état Activé (Enabled) à Désactivé (Disabled). Chaque constructeur ayant une manière différente de faire, si vous n'avez pas trouvé comment désactiver le Secure Boot, faites un tour dans cette documentation : [[:desactiver_secure_boot|Comment désactiver le secure boot]]. Information additionnelle sur le boot uefi et le secure boot: le boot UEFI n'est rien d'autre qu une back door complete sur l ensemble du systeme quel que soit sa nature (windows, macos, linux...]. Pourquoi? il s agit de l implementation du software dans le hardware. Ainsi on contourne le systeme operatif en le prenant a revers par le hardware. La backdoor est ainsi placee en amont du systeme et permet de tout controler sans etre repere par les habituels firewall, antivirus.... et en s emancipant du systeme. Meme le secure boot ne change rien puisque le probleme est dans le boot. Seule solution : revenir au boot classique ===== Contourner le démarrage forcé sur Windows 10 et Windows 8 ===== La méthode [[Boot-Repair]] **ne** prend **plus** en charge ce cas-là mais n'explique pas ce qui se passe. Voici donc une méthode alternative détaillée mais nécessitant de savoir utiliser un [[terminal]]). Elle semble indispensable sur certains MSI et Sony. Voici les étapes à suivre, détaillées dans les sous-paragraphes suivants : - sauvegarder les programmes d'amorçage EFI d'origine - renommer le programme d'amorçage standard de Microsoft, et écraser toutes les copies que peut charger le bios UEFI par le programme d'amorçage de grub - modifier le système de détection des autres OS de grub PS: Cette méthode fonctionne avec Debian Jessie, en veillant toutefois à remplacer ubuntu/shimx64.efi par le fichier présent dans /debian ==== Sauvegarder l'existant ==== * Démarrer l'ordinateur. Sous Windows 8, redémarrer pour démarrer ensuite sous Ubuntu: * aller en bas à droite, périphérique, rester appuyé sur la touche Majuscule, choisir l'icône de mise sous tension, et choisir redémarrer; * dans le menu sur fond blanc, choisir <à compléter>, et ensuite Ubuntu. * Sous Ubuntu, faire une copie des fichiers EFI dans un terminal: sudo cp -R /boot/efi/ ~/EFI_sauvegarde/ * Vérifier les différentes copies (somme de contrôle md5) : find /boot/efi/ ~/EFI_sauvegarde/ -name "*.efi" -exec md5sum {} \; | sort * On observe en général que /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi et /boot/efi/EFI/Boot/bootx64.efi sont identiques:dbed1f7ed9e19e53bfc7f43122ce3d83 /boot/efi/EFI/Boot/bootx64.efi dbed1f7ed9e19e53bfc7f43122ce3d83 /boot/efi/EFI/HP/boot/bootmgfw.efi dbed1f7ed9e19e53bfc7f43122ce3d83 /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi * Le système Ubuntu peut utiliser shimx64.efi ou grubx64.efi pour démarrer, le premier étant compatible avec Secure-Boot, alors que le second ne l'est pas. ==== Remplacer le programme d'amorçage standard ==== Toujours sous Ubuntu : * Renommer /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi en /boot/efi/EFI/Microsoft/Boot/bootmgfw_orig.efi : sudo mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw_orig.efi * Supprimer sous /boot/efi/ toutes les copies du programme EFI ayant la même somme de contrôle que /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi : sudo rm /boot/efi/EFI/Boot/bootx64.efi sudo rm /boot/efi/EFI/HP/boot/bootmgfw.efi * Copier le programme d'amorçage /boot/efi/EFI/ubuntu/shimx64.efi sous /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi : sudo cp /boot/efi/EFI/ubuntu/shimx64.efi /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /!\ il arrive parfois à windows de réécrire ///boot/efi/EFI/Microsoft/Boot/bootmgfw.efi// en cas de mise à jour... Dans ce cas, recommencer les étapes décrites ci-dessus /!\ * Redémarrer l'ordinateur. /!\ il arrive parfois au redémarrage qu'une erreur d'ouverture de fichier ///EFI/Microsoft/Boot/grubx64.efi// soit affichée à plusieurs reprises avant qu'une erreur de démarrage sécurisé ne soit finalement affiché. Dans ce cas, il suffit de désactiver le Secure Boot dans le bios, redémarrer Ubuntu et copier le programme d'amorçage grubx64.efi. /!\ sudo cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/Microsoft/Boot/ * Redémarrer l'ordinateur. * Activer le Secure Boot * Vérifier le bon démarrage sans erreur A cette étape là, le bios UEFI de l'ordinateur démarrera sur grub, et grub ne pourra démarrer que le système Ubuntu, le programme d'amorçage de Microsoft ayant été renommé. ==== Permettre le démarrage de Windows ==== Grub n'est plus en mesure de détecter correctement le programme d'amorçage de Windows car il n'est plus disponible sous son nom standard. Il faut donc lui permettre de retrouver le nouveau nom. === Solution 1 === Grub utilise la commande ''os-prober'' pour détecter les autres OS. Cette commande cherche un chemin standard pour détecter Windows. L'objectif est de modifier le résultat en sortie de cette commande pour tenir compte du renommage effectué plus tôt (''bootmgfw.efi'' renommé en ''bootmgfw_orig.efi'').sudo os-prober Le système Ubuntu étant régulièrement mis-à-jour, il faut que la modification opérée ne soit pas écrasée lors des mises-à-jour. Il faut donc créer un script supplémentaire, qui ne soit pas fourni par un paquet existant. * [[:tutoriel:comment_modifier_un_fichier|Créer le script]] **/tmp/za-windows8-hp** touch /tmp/za-windows8-hp ; sudo xdg-open /tmp/za-windows8-hp * Renseigner son contenu comme ceci : #! /bin/sh set -e sed -i -e "s/item_in_dir bootmgfw.efi/item_in_dir bootmgfw_orig.efi/" /usr/lib/os-probes/mounted/efi/20microsoft exit 0 * Enregistrer le fichier et fermer l’éditeur de texte. * [[:tutoriel:comment_modifier_un_fichier|Créer le script]] **/etc/kernel/postinst.d/za-windows8-hp** : sudo mv /tmp/za-windows8-hp /etc/kernel/postinst.d/za-windows8-hp * Il doit être rendu exécutable (même droits que le script **/etc/kernel/postinst.d/zz-update-grub**) : sudo chmod ugo+x /etc/kernel/postinst.d/za-windows8-hp sudo chown root:root /etc/kernel/postinst.d/za-windows8-hp * Exécuter le script une première fois (les fois suivantes, il sera exécuté lors de l'installation d'un nouveau noyau Linux) : sudo /etc/kernel/postinst.d/za-windows8-hp * Vérifier que le nom du programme EFI renvoyé par //os-prober// est bien le nom modifié (**/EFI/Microsoft/Boot/bootmgfw_orig.efi**) : sudo os-prober * Mettre-à-jour les entrées de grub : sudo update-grub * Redémarrer et tester le démarrage sous Windows. === Solution 2 === Souvent l'utilisateur a tenté de faire un //boot-repair// qui n'a rien donné comme résultat positif sauf de fabriquer un fichier ''25_custom'' contenant 3 entrées standards de boot. * Lire ce fichier. * Éliminer la dernière entrée. * Rectifier le nom de fichier de boot prévu pour Windows (''bootmgrfw.efi'') par le nouveau nom que vous avez attribué (''BKbootmgrfw.efi''). Éventuellement, remplacer le nom de l'entrée par un nom plus pratique. * [[:tutoriel:comment_modifier_un_fichier|Ajouter]] toutes ces lignes au fichier **/etc/grub.d/40_custom**. * Commenter ou supprimer toutes les lignes contenues dans le fichier ''25_custom''. * Mettre à jour les entrées de Grub : sudo update-grub * Redémarrer et tester le démarrage sous Windows. === Solution 3 === Installer [[:refind|refind]] puis le mettre [[:refind#booter_avec_une_installation_windows_bridee|à la place du fichier de boot de windows.]] ====HP==== Pour les ordinateurs **HP** une mise à jour de l'UEFI devrait suffire pour que les 2 OS cohabitent (il faut que votre UEFI soit minimum en version F30??). Ceci est fait en identifiant la signature du programme efi dans l'un des 3 emplacements possibles indiqués plus bas, et en démarrant sur celui qui a la bonne signature même si les 2 autres ont été remplacés. Que cela fonctionne ou pas, c'est de la roulette russe: si vous avez dans l'UEFI une flèche au niveau de OS selection, c'est tout bon; sinon, il faut suivre la méthode [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21750010#p21750010|suivante]].\\ Sur certaines machines **HP** vendues avec Windows10, le bios UEFI permet de choisir le gestionnaire de démarrage du SE qu'il faut positionner sur [[http://pix.toile-libre.org/?img=1464778129.jpg|ubuntu]]. La touche d'accès au bios est très souvent **F9** [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21481290#p21481290|Voir encore ici]]. ====Acer==== Les ordinateurs **ACER** d'avant décembre 2017 exigent que l'utilisateur définisse Ubuntu comme un OS [[https://pix.toile-libre.org/upload/original/1545189697.jpg|habilité.]] Cela permettra aussi de gérer les priorités de boot. Voir aussi [[https://forum.ubuntu-fr.org/viewtopic.php?pid=21468818#p21468818|ce post]] ou [[https://itsfoss.com/no-bootable-device-found-ubuntu/|celui-ci]]. ====Lenovo==== Sur les machines **Lenovo**, il est possible de faire la commande administrative ''bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi'' sous Windows; ====Toshiba==== Sur les machines **Toshiba** vendues avec Windows 8, le bios UEFI démarre à l'origine avec le fichier **\EFI\Boot\bootx64.efi** (qui est à ce moment une copie du fichier **\EFI\Microsoft\Boot\bootmgfw.efi**).\\ Une fois l'installation d'Ubuntu réalisée (mais elle est en fait incomplète), remplacer ce même fichier\\ **/boot/efi/EFI/Boot/bootx64.efi** qui est resté le chargeur Windows par le fichier\\ **/boot/efi/EFI/ubuntu/shimx64.efi** qui est le chargeur-menu Ubuntu en Secure Boot.\\ Copier **/boot/efi/EFI/ubuntu/grubx64.efi** vers **/boot/efi/EFI/Boot/grubx64.efi** pour qu'il puisse être trouvé par **\EFI\Boot\bootx64.efi** (=**shimx64.efi**). ==== L'utilisateur a supprimé windows ==== Dans le cas où l'utilisateur a totalememt supprimé windows ainsi que ses fichiers de boot et que ubuntu n'est pas lancé par le bios EFI, on a deux contextes: Dans le meilleur des cas, le bios indique que le fichier de boot est absent. Dans le pire des cas, le bios boucle à la recherche de windows sans rien dire. il ne reste qu'à recréer la [[https://forum.ubuntu-fr.org/viewtopic.php?pid=22704240#p22704240|structure de boot de windows]]. ===== Dépannage du dual-boot avec Windows 8 ou Windows 10===== * Windows 8 et Windows 10 Même si le démarrage par défaut se fait sur Ubuntu après installation, il peut arriver qu'il se remette sur Windows. Il suffit alors d'utiliser les "Options de démarrage avancées" de Windows ou bien de passer par le "Boot Menu" de l'ordi pour redémarrer sur Ubuntu et depuis la session Ubuntu, passer la commande qui va remettre Ubuntu en priorité de démarrage : sudo grub-install A noter : il est possible que cette réparation simple ne fonctionne pas si le système UEFI a été bridé par le fabricant de l'ordinateur pour forcer le démarrage sur Windows. * Windows 10 (et peut-être aussi windows 8) Au démarrage de la machine, si le menu de choix Ubuntu/Windows (grub) ne s'affiche pas et démarre Windows, alors sous Windows, ouvrez la ligne de commande et tapez ceci, puis redémarrez : bcdedit /set {bootmgr} path \EFI\ubuntu\grubx64.efi Si au bout d'un certains temps, Windows est lancé automatiquement sans que vous n'ayez rien fait pour cela, il faut envisager que Windows s'est "auto-réparé" pendant une mise à jour. Dans ce cas, il faudra refaire les manipulations particulières qui vous avaient permis d'avoir un dual-boot fonctionnel. =====Démarrage sur clé USB impossible==== Sur certains ordinateurs le BIOS a besoin d'un exécutable en 32 bits sur la clé pour démarrer, or par défaut Ubuntu le propose en 64 bits. Voir la solution [[live_usb#cas_des_UEFI_en_32_bits|ici]]. ===== Dépannage du Boot UEFI ===== [[http://www.rodsbooks.com/refind/getting.html|rEFInd]] est un utilitaire à avoir en cas de problème avec le boot UEFI. En effet, il permet de redémarrer son système en mode UEFI, et donc de faire une réparation de celui-ci à partir d'Ubuntu, lancé sans passer par chroot ou autre. Pour l'installer, coller cette commande dans un terminal: sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck --debug /dev/sdaX **En remplaçant X (dans sdaX) par le numéro de votre partition** A noter: seule la version **CD-R image** supporte le boot avec Secure Boot activé, pas la version **USB flash drive image file** ===== Voir aussi ===== ==== Quelques tutoriels ==== * [[https://libreaquimperle.blogspot.com/p/efi-un-jeu-d-enfant.html|EFI un jeu d'enfant]] (install Ubuntu 20.04 LTS en Dual Boot avec Windows 10) * [[https://lecrabeinfo.net/installer-ubuntu-18-04-lts-dual-boot-windows-10.html|Installer version 18.04]] ==== Divers ==== * [[https://forum.ubuntu-fr.org/viewtopic.php?id=986671|Discussion "Installer Ubuntu en mode EFI ou en mode Bios"]] sur le forum ubuntu-fr * [[http://linuxfr.org/news/uefi-à-la-découverte-du-nouveau-bios| Tuto Bios UEFI / EFI ]] * [[:efibootmgr|EFIBootmgr: Gestionnaire du chargeur de démarrage UEFI]] * [[https://www.youtube.com/watch?v=kZS84ctzii8|Créer la clé USB depuis windows avec Rufus et installer en EFI avec le choix "autre chose"]] * [[https://doc.ubuntu-fr.org/cohabitation_ubuntu_windows#problemes_frequents_suite_a_l_installation_en_double_amorcage_avec_windows|Mettre le bios en mode AHCI]] ---- //Contributeurs principaux : [[:utilisateurs:YannUbuntu]], [[utilisateurs:fnx]]//