Amorçage ok sur un ordi et pas sur l'autre

j’ai installé “stretch” sur un disque externe à partir d’un portable asus et j’ai constaté que le bios a été modifié lors de l’installation : debian a été introduit en n°1 pour amorcer . Pas de pb particulier ( sauf que W10 en n°2 ne démarre que si je le replace en n°1 , mais bon …) .

mon 2ème portable asus à priori identique au 1er ( sauf la taille de l’écran ) ne détecte pas mon disque externe ( il ne figure pas dans le bios au démarrage ) et un démarrage à partir de " paramètres " dans W10 conduit à " reboot and select proper boot device " . Comment puis-je le rendre visible par le bios de l’ordi n°2 à partir duquel je compte l’utiliser ?

  • j’ai bien sûr désactivé l’option "secure boot " sur les deux et configuré les deux bios à l’identique .

L’utilisation d’un disque externe nomade debian requiert quelques paramètres recommandés différents des paramètres par défaut.

Voir en particulier le paquet bilibop

*ça ne me parle pas beaucoup ces "paramètres recommandés " … ils sont modifiables à quel niveau ?

  • par contre j’ai trouvé ceci à propos de l’activation du mode CSM ( c’est mon cas ) et de son influence sur le processus de démarrage : "The first decision point is to determine the boot mode (BIOS vs. EFI). The trouble here is that this innocent little diamond hides a lot of uncertainty. The decision of which boot mode to use depends on (possibly multiple) user settings in the firmware, the presence or absence of key disk data structures, and algorithms used in specific EFIs. Thus, when fed the same disk that supports both BIOS-mode and EFI-mode booting, two different machines might respond differently, one booting it in BIOS mode and the other in EFI mode. If the CSM is enabled, you might as well flip a coin to figure out how a computer will boot. Such uncertainty makes documenting OS installation procedures a nightmare. It also means that the advice you receive in online forums is suspect, because a well-meaning respondent with limited experience might give you advice that’s applicable to only one outcome from that Boot Mode diamond."
    http://www.rodsbooks.com/efi-bootloaders/csm-good-bad-ugly.html

  • je viens d’essayer avec l’option CSM désactivée , rien ne change

  • j’ai aussi comparé les deux “bios” c’est bien le même fabricant mais a priori ils ne sont pas identiques même si la version est identique 2.17.1246 ( les autres chiffres présentés sont tous différents mais comme je n’ai aucune connaissance …)

  • et que penser de ceci qui date de 2012 ( usb qui n’amorçait pas uniquement sur un asus !! ) :
    " To be honest, I believe the problem is quite solved. The issue was the BIOS on the ASUS computers that were giving me trouble; it was incapable to use a large /boot partition. Shrinking it solved the booting issue.

I then disabled the automatic detection of the installed system, and followed it with a new round of GRUB commands (grub-mkdevicemap and update-grub) to create a new GRUB configuration. Since GRUB still uses UUIDs (I never stopped using them, I don’t know why you bring it up), it doesn’t matter what drives are installed on the machine you’re using, it should still locate and boot from the external unit.

I created another bootable external USB disk with the same method after installing Ubuntu 12 on it and had no problem at all."

Bienvenue dans le monde merveilleux de l’amorçage UEFI !
Un chargeur d’amorçage EFI installé dans la partition système EFI d’un disque n’est sélectionné par le firmware UEFI que si, au choix :

  • le chargeur (GRUB EFI, en ce qui nous concerne) a été enregistré dans une entrée d’amorçage EFI de la machine, ce que fait grub-install lors de l’installation du chargeur, c’est pourquoi il apparaît dans le menu de démarrage du firmware. Evidemment cela ne vaut que pour cette machine.

  • le chargeur est installé dans le chemin de périphérique amovible de la partition système EFI, /EFI/boot/bootx64.efi par rapport à la racine de la partition pour un firmware x86 64 bits. C’est ce qui est en place dans les images d’installation Debian. GRUB peut être installé dans cet emplacement lors de l’installation si on répondu oui à la question correspondante, ou bien ultérieurement avec la commande suivante :
    grub-install --removable

Pour être complet, j’évoquerai la possibilité d’installer un chargeur GRUB PC BIOS si le mode CSM du firmware UEFI est activé, ou si la machine cible n’a qu’un BIOS et pas un firmware UEFI. Installer le paquet grub-pc-bin et exécuter la commande :

grub-install --target=i386-pc /dev/sdX

où sdX est le disque externe contenant le système.
Note : si la table de partition est au format GPT, GRUB BIOS appréciera la présence d’une partition de type “BIOS boot” (bios_grub dans parted). Pas besoin de plus de 100 ko (oui, ko) ni de la formater. Sinon l’option --force sera nécessaire.

Mais certains firmwares ne facilitent pas la cohabitation entre les deux types d’amorçage et peuvent avoir des exigences contradictoires pour amorcer dans l’un et l’autre mode.

  1. le problème est que mon portable n’a qu’un seul OS : W10 et que cette commande nécessite un accès à mon disque externe D.E il me semble . Ce D.E avec debian 9 était justement destiné à le tester avant une installation éventuelle en double amorçage comme je le faisais couramment avec mes “satellite” de chez Toshiba . La présence d’un UEFI m’a fait peur et donc j’ai pris la solution D.E en attendant une solution sûre ( apparemment stretch en fournit une non ? ) et un écran 17" est bien plus confortable qu’un 15" pour ce test .

  2. sur ce D.E j’avais “jessie” d’installé à partir de “jessie” sur mon ancien “satellite” en double amorçage et il se lançait sans souci sur mon asus ( “secure boot” désactivé et CSM activé ) et une fois la compatibilité du wifi de ma carte broadcom résolu tout fonctionnait très bien … jusqu’à une mise à jour fatale suivie d’un écran noir . Or je ne sais pas résoudre ce genre de problème donc j’ai nettoyé le D.E en attendant le prochain debian .

en résumé et si j’ai bien compris je n’ai pas de solution pour ce D.E en couple avec mon 17" , c’est bien ça ? Et si oui je passe en “résolu” même si ?

  1. et je rajoute : pourquoi avec jessie l’amorçage était possible avec ce même D.E sur le même asus 17" ?

Et alors ? Tu peux toujours démarrer depuis le disque externe sur le portable n° 1, non ? Il n’est pas nécessaire d’exécuter l’une ou l’autre de ces commandes en ayant démarré sur le portable n° 2.

Une solution sûre à quoi ?

Bien sûr que si. Tu as plein de solutions :

  • démarrer sur le portable n° 1 avec lequel tu as fait l’installation
  • démarrer avec l’installateur Debian en mode dépannage (rescue) sur le portable n° 2
  • démarrer avec n’importe quel système live et faire un chroot sur le disque externe

Parce que cette installation s’amorçait en mode BIOS (si l’option CSM du firmware UEFI était nécessaire) et non UEFI.

  1. Et alors ? Tu peux toujours démarrer depuis le disque externe sur le portable n° 1, non ? Il n’est pas nécessaire d’exécuter l’une ou l’autre de ces commandes en ayant démarré sur le portable n° 2.

ok donc j’avais mal compris le but de la correction à apporter

  1. Une solution sûre à quoi ?

à l’installation d’un double amorçage en présence d’un UEFI car j’avais cru comprendre ( lectures diverses de l’époque soit environ 1 an ) que ça pouvait poser des problèmes

je vais donc essayer la solution préconisée (installation + ligne de commande) et je donnerai le résultat

Le but de la correction est de modifier la configuration d’amorçage sur le disque externe, pas sur le portable, l’objectif étant de pouvoir démarrer avec ce disque sur n’importe quel PC.

Oui ça peut poser des problèmes principalement à cause des firmwares UEFI foireux, mais je n’ai pas vu en quoi Stretch apportait une solution par rapport à Jessie.

j’ai une installation de type amd64 dois-je adapter la commande : i386 --> amd64 ou je ne change rien ?

Ne change rien. i386-pc est le nom de l’architecture PC BIOS pour GRUB, et contrairement à l’UEFI il n’y a pas de BIOS 64 bits.

Tu appliques aussi la première solution (chemin de périphérique amovible) ?

tentative avec solution 2 avortée (ci-dessous) je vais essayer la n°1 ( si je comprends )

root@debian:/home/mm# grub-install --target=i386-pc /dev/sdb Installation pour la plate-forme i386-pc. grub-install : attention : cette étiquette de partition GPT ne contient pas de partition d'amorçage BIOS ; l'embarquage ne sera pas possible. grub-install : attention : L'embarquage est impossible. GRUB ne peut être installé sur cette configuration qu'en utilisant les listes de blocs. Cependant, les listes de blocs ne sont PAS fiables et leur utilisation est déconseillée.. grub-install : erreur : refus de continuer avec les listes de blocs.
PS : quelle balise pour un texte type console ?

J’avais prévenu :

je viens d’essayer la solution n°1 grub-install --removable qui a priori s’est bien passée mais mon asus 2 ne reconnaît toujours pas mon D.E .

Il y a bien un fichier /boot/efi/EFI/boot/bootx64.efi ?

Si le portable peut faire démarrer l’installateur Debian en mode EFI, il n’y a pas de raison qu’il ne puisse pas faire démarrer le disque externe. Il devrait être listé dans les sources d’amorçage EFI disponibles.

j’ai un répertoire efi à /boot/efi que je n’arrive pas à ouvrir . L’onglet propriétés du dossier /boot/efi indique " contenu impossible à lire" .

j’ai bien un /boot/efi/EFI/boot/bootx64.efi ( vu grâce à la complétion automatique ) et sous root nano m’a donné une suite de signes cabalistiques

PS : Si le portable peut faire démarrer l’installateur Debian en mode EFI je n’ai pas essayé avec asus 2 . Je le fais de suite .

C’est un fichier binaire exécutable EFI, il ne se lit pas avec un éditeur de texte.

essai concluant : l’installateur est bien reconnu en tant que UEFI et amorce sans problème .

Sur une clé USB ?
Alors il devrait en être de même avec le disque externe, car le même exécutable EFI est au même emplacement dans la partition système EFI.

Autrement, tu peux toujours essayer les deux autres méthodes déjà exposées :

  • installer GRUB BIOS pour démarrer avec CSM
  • lancer l’installateur en mode rescue sur cette machine et réinstaller GRUB EFI.

( l’installateur présent en mode rescue + le D.E présent ) sur mon asus 2 , l’installateur va détecter mon HDD interne et mon D.E et va me demander où je veux installer grub-efi si je comprends bien . Je lui indique le D.E et il fera la même installation qu’il a faite sur mon asus 1 : c’est bien ça ?

Pas exactement. Le mode rescue va te demander de désigner la racine du système à réparer. Tu auras ensuite plusieurs choix, comme réinstaller le chargeur GRUB ou ouvrir un shell dans la racine du système (un chroot).
S’il est bien fichu (pas testé), il va monter automatiquement la partition système EFI du disque externe sur /boot/efi. Sinon, il faudra le faire manuellement dans le shell sur la racine.

mount /boot/efi.
Tu peux aussi monter les répertoires système qui sont séparés (/usr, /var…)
Ensuite, tu peux réinstaller GRUB avec grub-install sans argument, ce qui devrait créer une entrée “debian” dans les entrés d’amorçage EFI du firmware du PC.