Forum Linux.debian/ubuntu Installation Debian Jessie en mode UEFI ne boot pas

Posté par . Licence CC by-sa
4
30
août
2014

Bonjour,

Je poste ici après avoir écumé tous les sites d'aide que j'ai pu trouver sur le Web à la recherche d'une solution. En vain.

Je cherche à installer Debian Jessie 64 bits à partir de la version beta 1 de l'image netinst de l'installateur Debian sur mon HTPC en mode UEFI. L'installation se déroule sans accros or au redémarrage le système ne s'amorce pas. La carte mère Intel affiche le message suivant : "A bootable device has not been detected […]".

Niveau matériel, le HTPC possède deux périphériques de stockages :
- Un SSD mSATA de 30 Go sur lequel je souhaite installer le système.
- Un disque dur d'1 To que j'ignore durant l'installation (je le formate ultérieurement avec GNOME Disque pour y stocker mes données)

Voilà comment je procéde pour l'installation :

  1. À partir de Gparted lancé depuis un système Live-USB tiers.

    • Suppression de toutes les partitions existantes sur les deux périphériques.
    • Création d'une table de partition GPT sur chacun des périphériques.
    • Création d'une partition d'1 Mo tout au début du SSD, laissée "cleared", sur laquelle j'appose le drapeau "bios_grub"
  2. Depuis le média d'installation par le réseau

    • Amorçage du média d'installation en mode UEFI (≠ BIOS legacy)
    • Création des partitions suivantes :
      • EFI partition (je laisse le programme d'installation la créer automatiquement, notamment avec Fedora sinon le système fraîchement installé ne démarre pas, c'est un bug d'Anaconda)
      • /boot, 256 Mo, ext4
      • /, 10 Go, ext4
      • /var, 5 Go, ext4
      • /home, 5 Go, ext4

Ensuite je laisse le système d'installation faire le reste.

Avant mes tentatives infructueuses avec Debian, le HTPC tournait avec Fedora 20 (installé en mode UEFI), que j'avais pu installer sans souci depuis l'image d'installation par le réseau en mode UEFI en suivant la procédure décrite ci-dessus.

Maintenant questions :
- Euh… pourquoi ça ne fonctionne pas ?
- Qu'est-ce que je fais de mal ?
- Comment installer Debian en mode UEFI à partir de l'image d'installation par le réseau ?

Autres informations :
- L'installation se déroule en mode expert.
- Debian supporte bien l'installation en mode UEFI.
- Il ne semble pas y avoir de bugs connus/rapportés correspondant à mon problème.
- Le média d'installation est une clé USB préparé avec "dd" (dd if=/home/image.iso of=/dev/sdc bs=8M).
- L'image téléchargée et le média d'installation ont été vérifiés avec succès.
- L'UEFI est bien configuré, et n'a pas bougé depuis la précédente installation de Fedora.

J'ai installé Debian en suivant le partitionnement automatique (en postulant que ma procédure d'installation et/ou que mon schéma de partitionnement sont défaillants) mais le système ne démarre pas non plus.
L'installateur Debian ne m'est pas inconnu du tout mais c'est la première fois que je cherche à installer Debian en mode UEFI.

Je dois passer à coté d'un truc mais quoi ?

En vous remerciant d'avance pour votre aide.

  • # Quelques pistes

    Posté par . Évalué à 5.

    Salut,

    les surprises avec l'UEFI sont assez courantes. Quel est le fabricant de la carte mère ? Certains ont leur petites bidouilles.

    Si tu démarres via une clé/CD/DVD en mode récupération, est-ce que la partition a bien été formattée en fat32 et flaggée bootable ?
    Le contenu semble-il ok ? Tu devrais avoir un répertoire "EFI/debian" contenant un fichier "grubx64.efi" ou "grubx86.efi" suivant l'architecture.

    En accédant au menu de choix du périphérique de démarrage (en général F9), est-ce que Debian t'es proposé dans la liste ? Sinon tu devrais avoir un option du genre "boot from EFI file". Là, est-ce qu'en navigant jusqu'à fichier grubx64.efi ça démarre ?

    • [^] # Re: Quelques pistes

      Posté par . Évalué à 1.

      Salut,

      La carte mère est une Intel DH77DF. J'ai mis le BIOS à jour il y a quelques mois, le problème ne devrait pas venir de là.

      D'après GParted, la partition EFI est bien en fat32 et possède bien le drapeau "boot".

      Concernant son contenu, on y trouve : /EFI/debian/grubx64.efi
      Donc les fichiers sont bien là…

      Quand tu suggères le menu de choix du périphérique de démarrage de l'UEFI, la liste est désespérément vide. Seules mes clés USB amorçables apparaissent quand je les branche. Et je n'ai pas la possibilité de naviguer vers un fichier, la liste étant vide

      • [^] # Re: Quelques pistes

        Posté par . Évalué à 4.

        Il me semble qu'Intel fait partie des constructeurs qui boot sur le loader de fallback par défaut (pas logique mais quasiment tous les constructeurs font de la merde avec l'UEFI)

        Ca semble se confirmer d'après le retour d'un utilisateur sur les forums Intel:
        https://communities.intel.com/message/215440
        J'aime bien au passage la réponse de la fille d'Intel: Installer en mode legacy et puis voilà.

        Donc si c'est bien la même chose sur ta carte, il faut que tu accèdes à cette partition et que tu copies le fichier /EFI/debian/grubx64.efi vers /EFI/Boot/bootx64.efi .
        C'est l'emplacement du loader de fallback, et apparemment le seul que les cartes Intel lisent.

        • [^] # Re: Quelques pistes

          Posté par (page perso) . Évalué à 4.

          EFI ayant été défini… par Intel, c'est du joli, qu'ils fassent de la merde avec leur propre spec…

        • [^] # Re: Quelques pistes

          Posté par . Évalué à 3. Dernière modification le 31/08/14 à 19:29.

          Félicitations Croconux, effectivement ta piste était la bonne.

          J'ai suivi ce que tu m'as indiqué et copié le dossier /EFI/debian/ contenant le fichier "grub64.efi" dans le dossier /EFI/BOOT/ en renommant le fichier "grubx64.efi" "bootx64.efi", et là bingo ! Le démarrage m'amène au menu de Grub d'où je peux lancer Debian.

          Donc pour solutionner ce problème (si ça peut être utile à d'autres possesseurs de carte mère Intel) :

          • Procéder à l'installation de Debian "normalement" (cf procédure décrite dans mon premier message)
          • À la fin de l'installation, avant de redémarrer le système, lancer un shell depuis l'installateur et exécuter les commandes suivantes :
            • mount /dev/sda2 /mnt/
            • mkdir /mnt/EFI/BOOT/
            • cp /mnt/EFI/debian/grub64.efi /mnt/EFI/BOOT/bootx64.efi
            • reboot

          Au pire ces manœuvres sont réalisables après avoir redémarré, via un LiveCD un tiers. Il faudra alors monter la partition EFI (via l'utilitaire Gnome-disk par exemple), renommer le dossier /EFI/debian en /EFI/BOOT et remplacer son contenu le fichier "grubx64.efi" en "bootx64.efi". Puis redémarrer pour trouver sa Debian toute fraîche.

          Par contre une toute dernière question, le fichier "grubx64.efi" (ou "bootx64.efi") est-il définitif (aka crée lors de l'installation et ne bouge plus) ou régénéré à chaque mise à jour de GRUB ou du noyau  (auquel cas cette manœuvre sera à répéter à chaque mise à jour sous peine de plus pouvoir démarrer) ?

          En tout cas c'est pas malin de la part d'Intel d'autant plus que, comme le dit Tanguy Ortolo, c'est quand même leur technologie à la base… En plus c'était justement dans l'espoir d'éviter ce genre de souci que j'avais choisi du matériel Intel, qui est plutôt opensource-friendly (compatibilité Linux, ACPI, UEFI, etc)… Bref en tout cas j'y regarderai à deux fois avant de jeter mon dévolu sur un de leurs NUC.

          Mais je pense que Debian n'est pas totalement neutre dans l'histoire : à titre de comparaison Fedora installe par défaut le contenu suivant dans la partition EFI :

          • BOOT
            • BOOTX64.EFI
            • fallback.efi
          • fedora
            • BOOT.CSV
            • fonts
              • unicode.pf2
            • gcdx64.efi
            • grub.cfg
            • grubx64.efi
            • MokManager.efi
            • shim.efi
            • shim-fedora.efi

          Et c'est probablement cette différence, le fallback, qui fait que Fedora fonctionne out-of-the-box sur mon HTPC et pas Debian.

          Merci encore pour ton aide ! ;)

          • [^] # Re: Quelques pistes

            Posté par (page perso) . Évalué à 4.

            Par contre une toute dernière question, le fichier "grubx64.efi" (ou "bootx64.efi") est-il définitif (aka crée lors de l'installation et ne bouge plus) ou régénéré à chaque mise à jour de GRUB ou du noyau  (auquel cas cette manœuvre sera à répéter à chaque mise à jour sous peine de plus pouvoir démarrer) ?

            C'est l'image principale de GRUB, donc elle est générée à chaque nouvelle version de GRUB. Elle est en revanche indépendante de la version du noyau et de la configuration de GRUB (dans le sens où on peut changer la configuration de GRUB sans avoir à modifier son image principale).

            Une partition système EFI étant en FAT, et FAT étant un système de fichiers déficient, on ne peut malheureusement pas faire de lien symbolique…

          • [^] # Re: Quelques pistes

            Posté par (page perso) . Évalué à 4.

            Tiens, il serait sans doute pertinent de suggérer comme amélioration au paquet grub-efi dans Debian d'ajouter une option de configuration initiale permettant d'installer une copie de l'image principale comme boot/bootARCH.efi pour ce genre d'implémentation merdique.

            • [^] # Re: Quelques pistes

              Posté par . Évalué à 2.

              dans beaucoup de tuto il est dit d'installer bootmgr, et de lui passer des commandes pour aller copier/remplacer le bootARCH.efi

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.