Grub Fallback

strangeuser Messages postés 29 Statut Membre -  
strangeuser Messages postés 29 Statut Membre -
Bonjour,

Je rencontre un soucis avec le module fallback de grub, ou plus précisément je pense que je ne le configure pas correctement.

Le projet est le suivant :

voici mon partitionnement :
lsblk
nvmen1 259:0 0 100G 0 disk
├─nvmen1p1 259:1 0 2G 0 part
├─nvmen1p2 259:2 0 1K 0 part
├─nvmen1p5 259:3 0 4G 0 part
├─nvmen1p6 259:4 0 20G 0 part
├─nvmen1p7 259:5 0 20G 0 part
└─nvmen1p8 259:6 0 20G 0 part


nvmen1p1 est la partition "/boot", c'est ici où se situe la configuration du grub
nvmen1p6 est la partition du système n°1
nvmen1p7 est la partition du système n°2

Mon objectif est mettre en place un système de secure boot, c'est à dire si mon système n°1 ne boot pas correctement, rebooter automatique sur système n°2.

Je pense que le fallback intégré dans grub correspond à mon besoin (lien vers doc officiel : https://www.gnu.org/software/grub/manual/legacy/Booting-fallback-systems.html)

Voici maintenant ma configuration grub.cfg (partie menuentry) :

default=saved
timeout=5
hiddenmenu
fallback 0 1

menuentry 'Ubuntu 18 GNU/Linux' --class gnu-linux --class gnu --class os --id 0 {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos6'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 b16042aa-2466-43a7-91d4-5df680d155d2
else
search --no-floppy --fs-uuid --set=root b16042aa-2466-43a7-91d4-5df680d155d2
fi
linux /bot/vmlinuz-4.15.0-20-generic root=UUID=b16042aa-2466-43a7-91d4-5df680d155d2 ro net.ifnames=0 biosdevname=0 nomodeset
initrd /boot/initrd.img-4.15.0-20-generic
savedefault fallback
}

menuentry 'Debian GNU/Linux' --class gnu-linux --class gnu --class os --id 1 {
recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_msdos
insmod ext2
set root='hd0,msdos7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 b5bda3ce-0de3-46d8-bff4-c31d12207219
else
search --no-floppy --fs-uuid --set=root b5bda3ce-0de3-46d8-bff4-c31d12207219
fi
linux /boot/vmlinuz-4.15.0-43-generic root=UUID=b5bda3ce-0de3-46d8-bff4-c31d12207219 ro net.ifnames=0 biosdevname=0 nomodeset
initrd /boot/initrd.img-4.15.0-43-generic
savedefault fallback
}


Lorsque je génère une erreur dans le système n°1 pour qu'il ne boot pas correctement (erreur de nommage du kernel par exemple), le message erreur suivant s'affiche :

error: file `chemin erroné vers le kernel` not found
error: you need to load the kernel first

Press any key to continue...

Failed to boot both default and fallback entries.

Press any key to continue...


Tout en sachant que le système n°2 boot correctement...

Savez vous pourquoi cela ne fonctionne pas?

Un grand merci d'avance pour vos réponses, j'ai vraiment besoin d'aide

Configuration: Windows / Chrome 73.0.3683.75

4 réponses

  1. strangeuser Messages postés 29 Statut Membre 1
     
    Up! Personne n'a de solution svp? il s'agit d'un problème très bloquant pour moi
    0
  2. strangeuser Messages postés 29 Statut Membre 1
     
    Up! Toujours personne?
    0
  3. strangeuser Messages postés 29 Statut Membre 1
     
    Up, toujours personne?
    0
  4. UnGnU Messages postés 1468 Statut Contributeur 158
     
    Salut,

    Je viens de jeter un œil à ton lien, ainsi qu'à quelques posts sur le net, et perso je ferai ça :

    default saved
    timeout=5
    hiddenmenu
    fallback 1

    menuentry 'Ubuntu 18 GNU/Linux' --class gnu-linux --class gnu --class os --id 0 {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos6'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos6 --hint-efi=hd0,msdos6 --hint-baremetal=ahci0,msdos6 b16042aa-2466-43a7-91d4-5df680d155d2
    else
    search --no-floppy --fs-uuid --set=root b16042aa-2466-43a7-91d4-5df680d155d2
    fi
    linux /bot/vmlinuz-4.15.0-20-generic root=UUID=b16042aa-2466-43a7-91d4-5df680d155d2 ro net.ifnames=0 biosdevname=0 nomodeset
    initrd /boot/initrd.img-4.15.0-20-generic
    savedefault fallback
    }

    menuentry 'Debian GNU/Linux' --class gnu-linux --class gnu --class os --id 1 {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_msdos
    insmod ext2
    set root='hd0,msdos7'
    if [ x$feature_platform_search_hint = xy ]; then
    search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos7 --hint-efi=hd0,msdos7 --hint-baremetal=ahci0,msdos7 b5bda3ce-0de3-46d8-bff4-c31d12207219
    else
    search --no-floppy --fs-uuid --set=root b5bda3ce-0de3-46d8-bff4-c31d12207219
    fi
    linux /boot/vmlinuz-4.15.0-43-generic root=UUID=b5bda3ce-0de3-46d8-bff4-c31d12207219 ro net.ifnames=0 biosdevname=0 nomodeset
    initrd /boot/initrd.img-4.15.0-43-generic
    savedefault
    }


    ;-))
    0
    1. strangeuser Messages postés 29 Statut Membre 1
       
      Merci, enfin une réponse! Merci à toi :D

      J'ai déjà essayé, mais ça ne change rien malheureusement.

      J'ai fait un test plutôt approfondis suite à ça

      j'ai configuré /etc/default/grub :
      GRUB_DEFAULT=0
      GRUB_HIDDEN_TIMEOUT=0
      GRUB_HIDDEN_TIMEOUT_QUIET=true
      GRUB_TIMEOUT=5
      #GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
      GRUB_DISTRIBUTOR=""
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
      GRUB_CMDLINE_LINUX=""

      # Fallback configuration
      export GRUB_FALLBACK="1"
      GRUB_DEFAULT=saved
      GRUB_SAVEDEFAULT=true

      J'ai effectué un "update-grub2" et j'ai ensuite adapté manuellement /boot/grub/grub.cfg pour y intégrer ceci avant les "menuentry":
      default saved
      timeout 5
      hiddenmenu
      fallback 1

      J'ai aussi commenté tous les menus inutile
      Et toujours rien... la même erreur
      0
      1. UnGnU Messages postés 1468 Statut Contributeur 158 > strangeuser Messages postés 29 Statut Membre
         
        En relisant ton 1er message et ta config, je vois ça
        linux /bot/vmlinuz-4.15.0-20-generic
        ;-(
        Et ça me botte pas des masses ;-)
        0
    2. strangeuser Messages postés 29 Statut Membre 1
       
      c'est normal, il s'agit de l'erreur que je génère pour tenter de faire fonctionner le fallback
      0
      1. UnGnU Messages postés 1468 Statut Contributeur 158 > strangeuser Messages postés 29 Statut Membre
         
        Que je comprenne bien…
        Mon objectif est mettre en place un système de secure boot, c'est à dire si mon système n°1 ne boot pas correctement, rebooter automatique sur système n°2.
        Ton système n°1 c'est Ubuntu et le n°2 c'est Debian, c'est ça ?

        Si oui, tu veux que si Ubuntu ne démarre pas, ça enchaîne sur Debian ?

        Si toujours oui, alors c'est dans le menu d'Ubuntu qu'il faut générer une erreur, non ? ;-\
        0
    3. strangeuser Messages postés 29 Statut Membre 1
       
      oui et oui ^^

      mon système n°1 est un Ubuntu, et je génère une erreur pour qu'il plante au boot (et dans la ma conf c'est bien l'ubuntu qui à l'erreur)

      mon système n°2 est un Debian, et il est censé boot à la place d'Ubuntu

      Après pour le système numéro 2 c'est une debian pour bien différencier les 2 OS, sinon dans le projet il peut s’agir d'un autre ubuntu
      0