Installation sur disque externe (sdb) et efi

Partitionnement avec l’installateur lors de l’installation ou avant avec un autre logiciel ?

ce disque a une histoire de 4/5 ans environ : disque de sauvegarde avec W7 , de mémoire sans partitionnement juste un formatage sous W7, puis tentative d’installation de jessie avec le même problème non résolu que l’actuel , outil debian , puis installation réussie de ubuntu 18.04.1 ( efi sur le disque avec la même démarche que sous debian et partitionnement ubuntu ) et enfin tentative de debian 9.7 avec partitionnement outil debian .

  • épilogue : ubuntu a refusé de s’installer car il a détecté un disque dur défectueux (solution probable je suppose )

note : l’installateur ubuntu demande dès le début sur quel disque placer EFI = au moins c’est clair

Je ne vois pas le rapport entre un disque défectueux et le choix de la partition EFI par l’installateur.

Par ailleurs j’ai testé l’installateur Debian avec deux partitions EFI sur le même disque : il utilise bien celle qui est marquée “utiliser comme partition EFI”. Je ne vois pas pourquoi ce serait différent avec des partitions EFI sur deux disques différents.

La partition EFI de l’autre disque était bien marquée “ne pas utiliser” ? Si les deux étaient marquées “utiliser comme partition EFI”, le résultat est imprévisible.

bonjour ;

donc ce que je pensais être une solution possible ne le serait pas ?

La partition EFI de l’autre disque était bien marquée “ne pas utiliser” ? Si les deux étaient marquées “utiliser comme partition EFI”, le résultat est imprévisible.

je n’ai vu nulle part la précision " ne pas utiliser " pour la partition EFI/sda : il faudrait donc dire à l’installateur de ne pas l’utiliser ? Mais je n’ai pas vu cette possibilité offerte … j’aurais donc loupé un truc lors de l’installation ? Pourtant je viens de simuler une installation jusqu’au partitionnement et je n’ai de nouveau rien vu concernant la partition EFI/sda .

autres possibilités :

  • radicale = débrancher mon ssd sda = je préfère installer ubuntu
  • éventuellement si possible : désactiver le sda dans le “bios” ( bios efi de Insyde H2O ) = ?

voilà qui est clair ( de 2018 ) https://www.linuxquestions.org/questions/debian-26/install-debian-on-external-drive-postable-install-with-bootloader-included-4175639408/

" 4) Then the install went through with success. I was a bit puzzled because it did not ask me where to install the boot loader ??
… plus bas
"Here’s where my experience with UEFI type installs comes in handy. I have noticed that on the latest Debian installers, it does NOT ask you where you want to install the bootloader, if it detects UEFI. It’ll just install a Debian menu choice on the internal drive’s EFI bootloader. This is okay, if you never want to boot up your USB drive on any other computer. But if you do want to boot up your USB drive from another computer? Whoops, you’re out of luck! "

donc si ce texte est correct le problème est résolu = il n’a pas de solution simple et je n’aurais ( conditionnel ) pas fait de bévue lors de mon installation .

Dans un tel cas l’installation par ligne de commande devrait résoudre le problème je suppose = hors de ma portée …
à moins qu’il existe une installation mixte , que je puisse tout faire en graphique et arrivé à grub j’utilise ceci https://d-i.debian.org/manual/fr.amd64/apds03.html#idm4561 en changeant /dev/sda en /dev/sdc . Possible ou pas ?
" D.3.6. Configurer le programme d’amorçage

Pour que votre système Debian GNU/Linux puisse démarrer, configurez le programme d’amorçage pour qu’il charge le noyau installé avec votre nouvelle partition racine. Debootstrap n’installe pas de programme d’amorçage mais vous pouvez utiliser apt pour en installer un.

Faites info grub ou man lilo.conf pour connaître les instructions de configuration du programme d’amorçage. Si vous souhaitez conserver le système dont vous vous êtes servi pour installer Debian, ajoutez simplement une entrée pour l’installation de Debian dans votre grub.cfg ou dans votre lilo.conf .

L’installation et la configuration de grub2 est aussi simple que ça :

apt install grub-pc

grub-install /dev/sda

update-grub "

C’est vrai, car GRUB EFI s’installe implicitement dans la partition EFI montée sur /boot/efi. Ce montage est défini bien avant, lors du partitionnement.

C’est faux, je viens de vérifier expérimentalement. Comme je l’ai écrit précédemment, l’installateur utilise la partition EFI marquée “utiliser comme partition système EFI”.
Attention : si on choisit le partitionnement manuel (ce que je fais toujours), toutes les partitions EFI présentes peuvent être marquées comme à utiliser par défaut, aussi il faut marquer celles qu’on ne veut pas comme “ne pas utiliser”. C’est comme les swaps.

Ces instructions sont pour installer GRUB BIOS, pas GRUB EFI.
Pour installer GRUB EFI PC 64 bits, il faut installer le paquet grub-efi-amd64.

En mode EFI grub-install n’a pas besoin de spécifier un périphérique, l’amorçage EFI n’utilise pas de secteur d’amorce. Par contre si le disque externe doit être utilisé sur une autre machine (UEFI PC 64 bits aussi), il faut utiliser l’option --removable qui correspond au chemin de périphérique amovible.

Attention : si cette installation est réalisée avec un PC qui a déjà une installation de Debian en mode EFI sur son disque interne, l’installation de GRUB EFI sur le disque externe va remplacer l’entrée “debian” du système Debian installé sur le disque interne dans les variables d’amorçage du firmware UEFI.

Cela risque de ne désactiver que la prise en charge du disque par le firmware BIOS ou UEFI, et donc pour les programmes comme les chargeurs d’amorçage qui se basent dessus, mais d’être sans effet sur le noyau Linux qui utilise ses propres pilotes indépendamment du firmware.
Je ne connais qu’un seul cas (Dell Optiplex) où cela a désactivé effectivement le port SATA, empêchant Linux d’utiliser le disque connecté dessus.

il ne reste plus qu’à savoir comment faire pour marquer la partition efi/sda pour que l’installateur l’ignore ( et accessoirement swap/sda car j’ai vu qu’il la formate automatiquement ) . Donc en pratique comment fait-on depuis l’installateur ?

Dans “partitionner les disques”, sélectionner la partition pour la configurer. Dans le champ “utiliser comme”, sélectionner “ne pas utiliser cette partition”.

j’ai compris le truc peu après et j’ai donc indiqué à l’installateur de ne pas utiliser sda1 où se trouve efi/sda ; idem pour swap/sda .
effectivement swap/sda n’a pas été formaté , efi s’est bien installé sur sdc = dd externe mais le drapeau “boot” de sda a disparu ( vérifié à partir de ubuntu-live et de fdisk -l qui indiquait boot et non boot* comme pour la clé d’installation et pour sdc ) , et mon portable ne démarrait plus tout seul . J’ai donc utilisé boot-repair à partir du live ubuntu . Encore une erreur de ma part ? Franchement je ne vois pas .

Quel drapeau boot ? Un disque n’a pas de drapeau boot. Une partition primaire de la table DOS/MBR peut. sda a une table de partition DOS/MBR ?

j’ai appelé ça un drapeau mais en fait c’était un " * " qui apparaissait sur la clé d’installation et le disque externe sdc sous la forme boot* alors que sur sda il n’y avait que boot avec la commande fdisk -l

de plus : tables de partition = GPT pour mon portable et msdos pour sdc .

Un “*” dans la colonne “boot” d’une table de partition DOS indique l’activation du drapeau d’amorçage (boot flag) de cette partition. Mais fdisk n’affiche pas de colonne “boot” avec une table de partition GPT car ce drapeau n’existe pas (il a bien été prévu un attribut “legacy boot” dans le format GPT mais en pratique il ne sert à rien donc il n’est pas utilisé).

Attention : le drapeau de partition “boot” affiché par parted, gparted et l’installateur Debian a deux significations différentes selon le type de table de partition :

  • DOS/MBR : indicateur d’amorçage traditionnel
  • GPT : équivalent au drapeau “esp” qui désigne une partition système EFI.

maintenant que j’ai remis grub-efi d’aplomb avec https://wiki.debian.org/GrubEFIReinstall ( boot-repair m’avait un peu compliqué l’écran de sélection ) je vais laisser reposer l’affaire et attendre mon nouveau disque ssd .
Mon dernier essai , toujours avec non-utilisation de sda1 , m’a bien conservé l’amorçage de mon portable mais c’est mon disque externe qui tant qu’il restait connecté était détecté par mon bios mais une une fois déconnecté puis reconnecté le bios ne le listait plus ! Comme c’est le hdd que ubuntu a déclaré défectueux mais que debian a accepté je réessaierai avec le ssd que je vais acheter … des fois que …

merci de l’aide au moins j’ai appris des choses .

pour info là aussi
sur mon nouveau ssd fonctionnel ( après échange à la boutique ) j’ai observé ceci ( comme auparavant ) :

  • efi s’installe bien sur sdc
  • efi de debian/ubuntu en double amorçage se conserve sur sda mais debian/sda disparaît de la liste des amorçables
  • debian/sdc s’amorce sans problème même déconnecté puis reconnecté
    mais :
  • en utilisant https://wiki.debian.org/GrubEFIReinstall et en réinstallant efi/sda à partir de debian/sda qui devient réamorçable c’est alors sdc qui devient invisible sur mon portable !!!
    mais :
    comme ce sdc comporte bien un efi normalement constitué je l’ai essayé sur mon portable W10 et là il amorce sans problème .

conclusion perso : il semble y avoir incompatibilité pour 2 systèmes debian sur 2 supports différents sur mon portable ldlc avec UEFI Insyde H2O .

Ce n’est propre ni à Debian ni à ton firmware UEFI : toute installation de Debian s’enregistre avec le même nom “debian” dans les variable d’amorçage EFI, écrasant un enregistrement précédent avec le même nom. Le problème est le même pour n’importe quelle distribution qui ne permet pas de spécifier le nom à enregistrer.

Pour éviter cela, il est possible d’installer GRUB EFI en le forçant à s’enregistrer avec un nom différent :

grub-install --bootloader-id="autre_nom"

Attention : Des versions précédentes effaçaient toutes les entrées d’amorçage EFI existantes dont le nom contenait “debian”. Je n’ai pas testé si c’est toujours le cas avec Stretch.

Mais personnellement, ce que je ferais sur un disque externe, c’est installer GRUB EFI dans le chemin de support amovible qui ne nécessite pas d’enregistrement :

grub-install --removable

et le lancer via le menu de démarrage UEFI, comme un installateur ou un système live.

aussitôt lu aussitôt fait en passant pas W10 où debian /sdc était seul en lice et en utilisant ce petit bijou du débutant qu’est grubEFIReinstall ( mieux que boot-repair à mon avis ) . Malgré un grub rescue ( mauvais choix du support debian amorçable ) où “exit” ou “reboot” n’étaient pas reconnus ( pourquoi = ? ) aucun problème et maintenant j’ai un OS autonome 100% opérationnel sur du matériel UEFI uniquement ( si j’ai bien compris ) .

merci du sérieux coup de main .

Les commandes disponibles dans le shell de secours sont beaucoup plus limitées que dans le shell normal. En résumé, le shell de secours a juste ce qu’il faut pour localiser et charger le module “normal” (c’est son nom) qui donne accès à des fonctionnalités plus complètes.

C’est ce que tu voulais, non ?

Si tu veux que le disque externe soit aussi amorçable par un PC BIOS, il faut installer le paquet grub-pc-bin et installer le chargeur GRUB BIOS dans le MBR du disque.

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

je ne pense pas en avoir besoin mais bon , je garde en mémoire .

et puis je n’aurais jamais dû avoir un grub rescue car avec W10 et un ssd amorçable je n’avais pas besoin de rEFInd pour installer l’option "–removable " je pouvais très bien démarrer debian directement et faire le changement en session normale , non ? Cet outil est juste au cas où ça n’amorce pas il me semble .

quant à grub rescue je n’ai pas pensé à quit … la prochaine fois je tenterai … s’il y a une prochaine fois .

Je ne sais pas ce que tu as fait pour aboutir à ce résultat.

Oui, Debian du disque externe.