Re: grub2

Top Page

Reply to this message
Author: Olivier Allard-Jacquin
Date:  
To: guilde
Subject: Re: grub2
    Bonjour Patrick

Le 02/06/2024 à 11:22, Patrick Dupre a écrit :
> Hello,
>
> I am back on my questioning.
> Right now I have 2 installation on 2 different internal drive
> one on sda4
> one on sdc3
> both are identified by
> grub2-mkconfig
> but at the boot, only the installation on sda4 is seen.
> The only way that I have now to run on sdc3 is to use
> super grub2
>
> grub2-mkconfig also says
> Adding boot menu entry for UEFI Firmware Settings
>
> But I cannot boot to sdc3 from the efi interface
>
> How can I fix this issue?
>
> Thanks


    Ce n'est pas très clair si tu utilises le boot legacy/mbr ou EFI pour 
démarrer ta machine.


    Aussi, je vais supposer que tu bootes en legacy/mbr.


    Pour que GRUB legacy/mbr démarre, il a besoin de 4 choses:
- 442 octets dans le 1er block du disque dur
- un programme de boot qui est caché dans la piste 0 du disque dur
- tous un tas de fichiers qui sont dans le /boot/grub/ de ta partition
- et enfin, le /boot/grub/grub.cfg, qui va afficher la liste des OS à 
booter.


    SI TU UTILISES DEBIAN / UBUNTU:
- La commande "update-grub2" va générer pour toi le /boot/grub/grub.cfg


- "update-grub2" utilise un fichier de configuration /etc/default/grub
pour se paramétrer. Et notamment l'option ci-dessous, qui permet de
rajouter les autres OS de ta machine :

# Uncomment this to run os-prober to search for and add other OS
# installations to the grub boot menu
#GRUB_DISABLE_OS_PROBER=false

- Et tu auras aussi besoin du paquet "os-prober" pour que cela marche

- Enfin, pour mettre à jour le mbr et la piste zero, tu dois utilser la
commande "grub-install". Example "grub-install /dev/sdx". Mais
généralement tu n'as pas à l'utiliser toi même, sauf cas exceptionnel.

    A noter que si tu mets à jours alternativement tes deux OS (Linux tout 
les deux), les commandes "update-grub2" lancé de chaque coté va modifier 
le /boot/grub/grub.cfg de l'OS qui est lancé. Par contre, ce n'est pas 
très simple de savoir lorsque GRUB démarre, de quel OS (sda4 ou sdc3) il 
est issue


    La problématique n'est pas forcément ultra simple, et il faut y réfléchir.


    Dans le cas où ton ordinateur boote sur /dev/sda (cela se paramètre 
dans le BIOS):
- le BIOS va lire le block 0 (le MBR), et exécuter les 442 octets
- ces 442 octets vont lui faire exécuter le code caché dans la piste 0
- ce code-là va chercher la 1ère partition qui a un répertoire 
/boot/.disk/ . Cela lui indiquera où chercher les programme du 
/boot/grub/, et surtout le /boot/grub/grub.cfg
- et le menu va alors s'afficher.


    Cordialement,
                        Olivier


-- 
~~~~~~~  _____/\_____  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Phoenix /   _ \/ _   \    Olivier Allard-Jacquin
        /   / \  / \   \   Web:  http://olivieraj.free.fr/
       /___/  /  \  \___\  Mail: olivieraj@???
~~~~ /////  ///\\\  \\\\\ ~~~~~~~~~~~~~~~~~~~~~~~ Linux Powered !!