[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re : Re: Remettre le fichier GRUB à neuf



Bonjour à tous,

J'ai été confronté à ce problème il y a quelques années et je partais d'un disque SSD vierge (120 Go).

Donc effectivement, je l'ai formaté en GPT (128 partitions disponibles), une petite partition de 100  Mo a été créée en tête de disque, qui contenait EFI.

Ensuite, j'ai installé une Debian stable, comportant Grub.
Par la suite, j'ai installé d'autres distributions en parallèle et, comme le dit Pierre, il est important de ne plus installer de Grub sur ces distributions "secondaires" (ce n'est pas toujours évident, car suivant le mode d'installation, c'est parfois fait automatiquement).

Pour éliminer ce problème, j'ai installé rEFind sur ma Debian stable. Il s'agit d'un boot manager qui prend la main dès le démarrage et auquel on peut passer des commandes permettant de modifier l'ordre de boot. Cela m'a grandement simplifié la vie...

Bonne journée,

Marc

Le 08/02/2022 à 02:52, k6dedijon@free.fr a écrit :
Bonjour à tous,
J'ai plusieurs OS Linux sur la même machine.
J'ai galéré pour les réinstaller dernièrement.

Et je pense que cela provient de la manière dont chaque distribution s'est mise à gérer l'EFI.
Il y a des approches très différentes.
Certains disent que la partition EFI doit être immédiatement positionnée après la GPT, d'autres disent que la partition EFI doit être montée dans le répertoire /boot, d'autres disent que EFI ne peut qu'être un répertoire, soit une cacophonie qui donne divers résultats.
J'ai dû mettre chaque distribution sur un disque séparé pour arriver à pouvoir les faire fonctionner. (installation en branchant chaque fois un seul disque.)

Est-ce une piste qui peut aider à résoudre le problème, je vous le souhaite.
Cassis




----- Mail d'origine -----
De: Pierre Meurisse <pierre.meurisse59@free.fr>
À: debian-user-french@lists.debian.org
Envoyé: Sat, 05 Feb 2022 11:31:58 +0100 (CET)
Objet: Re: Remettre le fichier GRUB à neuf

Bonjour à tous,

j'ai plusieurs systèmes sur toutes mes machines et je n'ai pas eu
d'ennuis particuliers avec grub.

Il me semble important d'installer grub sur _un seul_ système, celui-ci
appelant les autres systèmes installés. Il suffit, lors d'une nouvelle
installation de refuser l'installation de grub et de redémarrer celle
contenant _le_ grub pour faire un update-grub.

Hope this helps.



Le Sat, Feb 05, 2022 at 08:37:52AM +0100, Pierre Malard a écrit :
Bonjour,

Je vois quelques informations qui me semblent étranges :

1) Erreurs UUID
===============
La seule partition utilisée lors d’un boot est la partition Swap
principale. Lister les UUID avec un « blkid » et vérifier dans
le /etc/fstab qu’il n’y a pas d’erreur.
Éventuellement forcer l’utilisation de la Swap dans le fichier
« /etc/initramfs-tools/conf.d/resume » avec une ligne comme ça :
RESUME=UUID=<UUID de la partition SWAP>

Au besoin régénérer les UUID si besoin (copie d’une autre
installation par exemple)
Avec un système de fichiers EXTn, la commande est :
   # tune2fs -U $(uuidgen) /dev/<PARTITION>

Avec une partition XFS :
   # xfs_admin -U $(uuidgen) /dev/<PARTITION>
    Clearing log and setting UUID
    writing all SBs
    new UUID = XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX

Avec une partition SWAP :
   # mkswap -U $(uuidgen) /dev/<PARTITION>
    mkswap: /dev/<PARTITION> : avertissement : effacement de l'ancienne signature swap.
    Configure l'espace d'échange (swap) en version 1, taille…
    pas d'étiquette, UUID=XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXX

Avec une partition FAT :
   # mlabel -N $(uuidgen) /dev/<PARTITION>


2) Régénération du GRUB avec « update-grub » et UEFI
====================================================
Si le boot s’appuie sur UEFI cela devrait être accompagné d’un
partitionnement GPT et non MSDOS. Il est peut-être préférable
de le dire à « update-grub » et que le système ait le paquet
nécessaire (« grub-efi »).
Il faut également que la partition EFI soit montée sur /boot/efi.
Ensuite avec sdX le disque où se trouve le système :
   # grub-install —modules=part_gpt --target=x86_64-efi \
       --efi-directory=/boot/efi --bootloader-id=debian \
       --recheck --debug /dev/<sdX>

Vérifier qu’il existe un répertoire « /boot/efi/EFI/boot », le
créer au besoin. Copier le fichier « grubx64.efi » dedans :
   # cp /boot/efi/EFI/debian/grubx64.efi \
        /boot/efi/EFI/boot/bootx64.efi

Chez moi ça fonctionne…
(https://wiki.debian-fr.xyz/Debian_%26_UEFI)

En espérant vous aider

Le 4 févr. 2022 à 23:15, didier gaumet <didier.gaumet@gmail.com> a écrit :



Le vendredi 04 février 2022 à 22:47 +0100, ajh-valmer a écrit :

[...]
Est-ce que je peux ou dois effacer le contenu de "/etc/grub.d" ?
car faire le ménage dans les fichiers de /etc/grub.d/ = pas facile.

surtout pas! ce sont des fichiers indispensables au fonctionnement de
Grub2

le contenu des fichiers 40_custom et 41_custom doit être le suivant (à
modifier si ce n'est pas le cas):

didier@hp-notebook14:~$ cat /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.  Simply
type the
# menu entries you want to add after this comment.  Be careful not to
change
# the 'exec tail' line above.

didier@hp-notebook14:~$ cat /etc/grub.d/41_custom
#!/bin/sh
cat <<EOF
if [ -f  \${config_directory}/custom.cfg ]; then
  source \${config_directory}/custom.cfg
elif [ -z "\${config_directory}" -a -f  \$prefix/custom.cfg ]; then
  source \$prefix/custom.cfg;
fi
EOF

Merci pour ces configurations qui m'aident, je les fais.
Mais je ne m'explique pas pourquoi grub créé des erreurs de UUID.
les UUID sont propres à une installation. Lorsque tu as plusieurs OS
Linux installés, même si chacun utilise les UUID pour identifier les
partitions, ce sont des UUID différents dans chaque OS pour une même
partition. Os-prober va alors potentiellement trouver des dépendances
circulaires, compliquées par des UUID valides dans un OS et pas dans un
autre

Personnellement, ça fait longtemps que je n'ai pas fait de multiboot
multi-linux mais j'installais un seul Linux avec un bootloader (Grub)
et lorsque l'installateur des autres Linux concernés le permettait, je
n'installais pas de bootloader pour ceux-ci.

=> le plus simple pour toi
- dans /etc/default/grub tu mets un GRUB_DISABLE_OS_PROBER="yes" et pas
de GRUB_OS_PROBER_SKIP_LIST
- ensuite tu fais un sudo update-grub
et ça devrait suffire


--
Pierre Malard

    « SPAM : Spieced Pork and Meat »
                                        Pierre Dac (Londres, 1944)
Extrait de « Pierre DAC parle au Français » sur Radio Londres, le 24 mars 1944, dans Drôle de guerre, éditions Omnibus (2008), pages 93 à 96. (https://www.epi.asso.fr/revue/articles/a1602d.htm)

    |\      _,,,---,,_
    /,`.-'`'    -.  ;-;;,_
   |,4-  ) )-,_. ,\ (  `'-'
  '---''(_/--'  `-'\_)   πr

perl -e '$_=q#: 3|\ 5_,3-3,2_: 3/,`.'"'"'`'"'"' 5-.  ;-;;,_:  |,A-  ) )-,_. ,\ (  `'"'"'-'"'"': '"'"'-3'"'"'2(_/--'"'"'  `-'"'"'\_): 24πr::#;y#:#\n#;s#(\D)(\d+)#$1x$2#ge;print'
- --> Ce message n’engage que son auteur <--





Reply to: