Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/11/2012, à 23:16

ahlner

Menu grub 2 : répétitions apparemment inutiles.

Hello,

Voici partiellement le grub.cfg de la LTS 12.04.
Les sections commentées par "#" apparaissent décommentées après un "update-grub".
Autre info : dans la 12.2, vmlinuz et initrd sont des liens symboliques vers les noms avec versions.
En les examinant, je constate qu'elles sont identiques, sauf erreur de ma part.
Est-il possible que le menu contienne de manière stable le nombre nécessaire et suffisant de sections?
openSUSE 12.2 utilise grub 2 et a des répétitions.
openSUSE 12.1 utilise grub-legacy et n'a pas de répétitions.
Merci.


menuentry "openSUSE 12.2 (i586) (on /dev/sdb10)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt10)'
    search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    linux /boot/vmlinuz root=/dev/sdb10
    initrd /boot/initrd-3.4.11-2.16-default
}

#menuentry "openSUSE 12.2 (i586) (on /dev/sdb10)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt10)'
    search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    linux /boot/vmlinuz root=/dev/sdb10
    initrd /boot/initrd
}
#menuentry "openSUSE 12.2 (i586) (on /dev/sdb10)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt10)'
    search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    linux /boot/vmlinuz root=/dev/sdb10
    initrd /boot/initrd-3.4.11-2.16-default
}
#menuentry "openSUSE 12.2 (i586) (on /dev/sdb10)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt10)'
    search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    linux /boot/vmlinuz-3.4.11-2.16-default root=/dev/sdb10
    initrd /boot/initrd-3.4.11-2.16-default
}
#menuentry "openSUSE 12.2 (i586) (on /dev/sdb10)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt10)'
    search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    linux /boot/vmlinux-3.4.11-2.16-default.gz root=/dev/sdb10
}

Hors ligne

#2 Le 15/11/2012, à 23:46

xabilon

Re : Menu grub 2 : répétitions apparemment inutiles.

À mon avis ça vient du simple fait que les liens vmlinuz et initrd ne devraient pas se trouver dans /boot, mais à la racine /
En étant dans /boot, ils sont détectés par Grub comme des noyaux supplémentaires.

Nous sommes bien d'accord que ce que tu montres ici, c'est le grub.cfg de Ubuntu, et que c'est celui-ci qui est lu au démarrage par le Grub2 du MBR ?
Je ne vois d'autre solution que de désactiver la détection d'autres OS (os-prober) sur Ubuntu, et rentrer toi-même les entrées pour OpenSuse dans le script /etc/grub.d/40_custom.

Tu peux peut-être faire des chaînages de Grubs, mais là ça dépend de ton installation


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#3 Le 16/11/2012, à 09:35

ahlner

Re : Menu grub 2 : répétitions apparemment inutiles.

Il s'agit bien du menu de LTS 12.04
∕boot est un répertoire, non une partition.
Les noyaux et initrd se se situent aussi dans le /boot (répertoire) de LTS 12.04
Il n'y a pas de répétitions pour openSUSE 12.1 avec son grub-legacy.

Dernière modification par ahlner (Le 16/11/2012, à 10:54)

Hors ligne

#4 Le 16/11/2012, à 11:47

xabilon

Re : Menu grub 2 : répétitions apparemment inutiles.

Je sais bien que /boot est un dossier, mais les scripts de update-grub scannent le dossier /boot pour y répertorier et reporter dans le grub.cfg tous les noyaux qui s'y trouvent.
Et sur mon Ubuntu 12.10, en tout cas, les liens vmlinuz et initrd (liens vers le noyau et initrd les plus récents) se trouvent bien à la racine /, et pas dans /boot ; ils ne sont donc pas pris en compte par grub.
/boot, en revanche, contient les "vrais" noyaux et initrd.

À première vue, puisque le grub2 de OpenSuse a exactement le même comportement que celui d'Ubuntu, je dirais que c'est un bug de OpenSuse


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#5 Le 16/11/2012, à 23:22

ahlner

Re : Menu grub 2 : répétitions apparemment inutiles.

De mémoire, le menu grub2 de openSUSE 12.2 est très concis.
Mandriva et openSUSE n'ont pas les fichiers  de démarrage dans la /.
Il me semble que c'est propre à Debian et dérivées. J'ai eu des répétitions avec une LM.
La répétition vient peut-être du fait que 12.04 et 12.2 utilisent grub2 : pas de répétition avec openSUSE 12.1 utilisant grub-legacy.
Le grub2 de la 12.04 est installé dans une clef USB, car je laisse /dev/sda uniquement pour les systèmes Microsoft. De ce fait, Windows et Linux sont totalement "non-interdépendants".
Voici le grub.cfg d'openSUSE 12.2 actualisé à l'instant.

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  load_env
fi
set default="${saved_entry}"

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
set root='hd1,gpt10'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt10 --hint-efi=hd1,gpt10 --hint-baremetal=ahci1,gpt10 --hint='hd1,gpt10'  de033063-7ae7-4851-b5a1-569b4221051c
else
  search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
fi
    font="/usr/share/grub2/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=
  insmod gettext
fi
terminal_output gfxterm
insmod part_gpt
insmod ext2
set root='hd1,gpt10'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt10 --hint-efi=hd1,gpt10 --hint-baremetal=ahci1,gpt10 --hint='hd1,gpt10'  de033063-7ae7-4851-b5a1-569b4221051c
else
  search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
fi
insmod gfxmenu
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans-Bold14.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans10.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/DejaVuSans12.pf2
loadfont ($root)/boot/grub2/themes/openSUSE/ascii.pf2
insmod png
set theme=($root)/boot/grub2/themes/openSUSE/theme.txt
export theme
insmod part_gpt
insmod ext2
set root='hd1,gpt10'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt10 --hint-efi=hd1,gpt10 --hint-baremetal=ahci1,gpt10 --hint='hd1,gpt10'  de033063-7ae7-4851-b5a1-569b4221051c
else
  search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
fi
insmod png
background_image -m stretch /boot/grub2/themes/openSUSE/background.png
if [ x${boot_once} = xtrue ]; then
  set timeout=0
elif sleep --interruptible 0 ; then
  set timeout=8
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'openSUSE' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-de033063-7ae7-4851-b5a1-569b4221051c' {
    load_video
    set gfxpayload=keep
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='hd1,gpt10'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt10 --hint-efi=hd1,gpt10 --hint-baremetal=ahci1,gpt10 --hint='hd1,gpt10'  de033063-7ae7-4851-b5a1-569b4221051c
    else
      search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    fi
    echo    'Loading Linux 3.4.11-2.16-default ...'
    linux    /boot/vmlinuz-3.4.11-2.16-default root=UUID=de033063-7ae7-4851-b5a1-569b4221051c   video=1280x1024 resume=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part1 splash=silent quiet showopts
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd-3.4.11-2.16-default
}
submenu 'Advanced options for openSUSE' $menuentry_id_option 'gnulinux-advanced-de033063-7ae7-4851-b5a1-569b4221051c' {
    menuentry 'openSUSE, with Linux 3.4.11-2.16-default' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.4.11-2.16-default-advanced-de033063-7ae7-4851-b5a1-569b4221051c' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt10'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt10 --hint-efi=hd1,gpt10 --hint-baremetal=ahci1,gpt10 --hint='hd1,gpt10'  de033063-7ae7-4851-b5a1-569b4221051c
        else
          search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
        fi
        echo    'Loading Linux 3.4.11-2.16-default ...'
        linux    /boot/vmlinuz-3.4.11-2.16-default root=UUID=de033063-7ae7-4851-b5a1-569b4221051c   video=1280x1024 resume=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part1 splash=silent quiet showopts
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd-3.4.11-2.16-default
    }
    menuentry 'openSUSE, with Linux 3.4.11-2.16-default (recovery mode)' --class opensuse --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.4.11-2.16-default-recovery-de033063-7ae7-4851-b5a1-569b4221051c' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt10'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt10 --hint-efi=hd1,gpt10 --hint-baremetal=ahci1,gpt10 --hint='hd1,gpt10'  de033063-7ae7-4851-b5a1-569b4221051c
        else
          search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
        fi
        echo    'Loading Linux 3.4.11-2.16-default ...'
        linux    /boot/vmlinuz-3.4.11-2.16-default root=UUID=de033063-7ae7-4851-b5a1-569b4221051c  showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd-3.4.11-2.16-default
    }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Microsoft Windows XP Professionnel (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-8C100AD4100AC4E4' {
    insmod part_msdos
    insmod ntfs
    set root='hd0,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1'  8C100AD4100AC4E4
    else
      search --no-floppy --fs-uuid --set=root 8C100AD4100AC4E4
    fi
    drivemap -s (hd0) ${root}
    chainloader +1
}
menuentry 'Ubuntu 12.04.1 LTS (12.04)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-fbbce90a-87fe-4ad2-8efc-1bf84ed70811' {
    insmod part_gpt
    insmod ext2
    set root='hd1,gpt2'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 --hint='hd1,gpt2'  fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    else
      search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    fi
    linux /boot/vmlinuz-3.2.0-31-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro quiet splash $vt_handoff
    initrd /boot/initrd.img-3.2.0-31-generic-pae
}
submenu 'Advanced options for Ubuntu 12.04.1 LTS (12.04)' $menuentry_id_option 'osprober-gnulinux-advanced-fbbce90a-87fe-4ad2-8efc-1bf84ed70811' {
    menuentry 'Ubuntu, avec Linux 3.2.0-31-generic-pae (on /dev/sdb2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.2.0-31-generic-pae--fbbce90a-87fe-4ad2-8efc-1bf84ed70811' {
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 --hint='hd1,gpt2'  fbbce90a-87fe-4ad2-8efc-1bf84ed70811
        else
          search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
        fi
        linux /boot/vmlinuz-3.2.0-31-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro quiet splash $vt_handoff
        initrd /boot/initrd.img-3.2.0-31-generic-pae
    }
    menuentry 'Ubuntu, avec Linux 3.2.0-31-generic-pae (mode de dépannage) (on /dev/sdb2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.2.0-31-generic-pae--fbbce90a-87fe-4ad2-8efc-1bf84ed70811' {
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 --hint='hd1,gpt2'  fbbce90a-87fe-4ad2-8efc-1bf84ed70811
        else
          search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
        fi
        linux /boot/vmlinuz-3.2.0-31-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro recovery nomodeset
        initrd /boot/initrd.img-3.2.0-31-generic-pae
    }
    menuentry 'Ubuntu, avec Linux 3.2.0-23-generic-pae (on /dev/sdb2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.2.0-23-generic-pae--fbbce90a-87fe-4ad2-8efc-1bf84ed70811' {
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 --hint='hd1,gpt2'  fbbce90a-87fe-4ad2-8efc-1bf84ed70811
        else
          search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
        fi
        linux /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro quiet splash $vt_handoff
        initrd /boot/initrd.img-3.2.0-23-generic-pae
    }
    menuentry 'Ubuntu, avec Linux 3.2.0-23-generic-pae (mode de dépannage) (on /dev/sdb2)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.2.0-23-generic-pae--fbbce90a-87fe-4ad2-8efc-1bf84ed70811' {
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt2'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2 --hint='hd1,gpt2'  fbbce90a-87fe-4ad2-8efc-1bf84ed70811
        else
          search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
        fi
        linux /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro recovery nomodeset
        initrd /boot/initrd.img-3.2.0-23-generic-pae
    }
}

menuentry 'openSUSE 12.1 (i586)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-624f835f-37e3-47b8-838d-d8104da09d58' {
    insmod part_gpt
    insmod ext2
    set root='hd1,gpt6'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt6 --hint-efi=hd1,gpt6 --hint-baremetal=ahci1,gpt6 --hint='hd1,gpt6'  624f835f-37e3-47b8-838d-d8104da09d58
    else
      search --no-floppy --fs-uuid --set=root 624f835f-37e3-47b8-838d-d8104da09d58
    fi
    linux /boot/vmlinuz-3.1.10-1.16-default root=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part6 resume=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part1 splash=silent quiet showopts vga=0x31a
    initrd /boot/initrd-3.1.10-1.16-default
}
submenu 'Advanced options for openSUSE 12.1 (i586)' $menuentry_id_option 'osprober-gnulinux-advanced-624f835f-37e3-47b8-838d-d8104da09d58' {
    menuentry 'openSUSE 12.1 - 3.1.10-1.16 (on /dev/sdb6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.1.10-1.16-default--624f835f-37e3-47b8-838d-d8104da09d58' {
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt6'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt6 --hint-efi=hd1,gpt6 --hint-baremetal=ahci1,gpt6 --hint='hd1,gpt6'  624f835f-37e3-47b8-838d-d8104da09d58
        else
          search --no-floppy --fs-uuid --set=root 624f835f-37e3-47b8-838d-d8104da09d58
        fi
        linux /boot/vmlinuz-3.1.10-1.16-default root=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part6 resume=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part1 splash=silent quiet showopts vga=0x31a
        initrd /boot/initrd-3.1.10-1.16-default
    }
    menuentry 'Failsafe -- openSUSE 12.1 - 3.1.10-1.16 (on /dev/sdb6)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-3.1.10-1.16-default--624f835f-37e3-47b8-838d-d8104da09d58' {
        insmod part_gpt
        insmod ext2
        set root='hd1,gpt6'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt6 --hint-efi=hd1,gpt6 --hint-baremetal=ahci1,gpt6 --hint='hd1,gpt6'  624f835f-37e3-47b8-838d-d8104da09d58
        else
          search --no-floppy --fs-uuid --set=root 624f835f-37e3-47b8-838d-d8104da09d58
        fi
        linux /boot/vmlinuz-3.1.10-1.16-default root=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part6 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x31a
        initrd /boot/initrd-3.1.10-1.16-default
    }
}

### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
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
### END /etc/grub.d/41_custom ###

### BEGIN /etc/grub.d/90_persistent ###
### END /etc/grub.d/90_persistent ###

Dernière modification par ahlner (Le 19/11/2012, à 23:51)

Hors ligne

#6 Le 17/11/2012, à 00:09

xabilon

Re : Menu grub 2 : répétitions apparemment inutiles.

Je ne vois pas de "répétitions" non-nécessaires dans ce grub.cfg ; de plus il détecte convenablement Ubuntu, OpenSuse 12.1 et Windows.
OpenSuse place un sous-menu "Advanced options" ... aucune idée de à quoi ça correspond.
Si ce menu Grub te convient, alors utilise le Grub de OpenSuse 12.2 pour gérer le démarrage.
Je ne te conseille pas Grub-Legacy, il est obsolète


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#7 Le 17/11/2012, à 00:23

ahlner

Re : Menu grub 2 : répétitions apparemment inutiles.

"Advanced options" correspond à "Failsafe". Ce n'est peut-être pas tellement évident, mais quand même un peu que le menu Ubuntu "non commenté par des #" affichant six lignes strictement identiques, indifférenciables, n'ayant pas d'APN pour le montrer.
Pour moi, il;ne s'agit pas présentement de critiquer/valoriser Ubunt/openSUSE, mais de mettre en cause un logiciel tiers à ces distributions Linux : grub2.
Quant à grub-legacy, il n'et pas si obsolète que ça, car il est capable de chaîner vers gru2, de la manière suivante :

title LTS 12.04
uuid ........ .... .... .... ........
kernel /boot/core.img

"........ .... .... .... ........" représentant l'UUID de la partition / pour un partitionnement simple.

J'ai utilisé ce procédé pour démarrer LinuxMint Helena (8) avec le grub-legacy de la Mandriva de l'époque.
grub2 est encore expérimental, ne l'oublions pas, même s'il a des fonctionnalités avancées par rapport à grub-legacy.
Avec LM, grub 2 affichait deux lignes pour une même partition, dont une pour Mandriva et une assimilée à une dérivée Debian.
Pour openSUSE 12.2 j'ai choisi grub2 à des fins d'expérimentation.

drwxr-xr-x 2 root root     4096  8 sept. 01:32 grub
drwxr-xr-x 6 root root     4096 16 nov.  21:54 grub2

grub-legacy est très sensiblement plus convivial et configurable que grub2, alias grub-pc.
D'autres et moi-même n'appréciont pas tellement ses automatismes.
Bref, il manque une interface pour le configurer manuellement.

Dernière modification par ahlner (Le 17/11/2012, à 15:11)

Hors ligne

#8 Le 17/11/2012, à 01:29

xabilon

Re : Menu grub 2 : répétitions apparemment inutiles.

Pour tes entrées identiques, je t'ai déjà expliqué pourquoi elles apparaissent : Grub2 perd les pédales avec les noyaux et les liens, et c'est probablement pour ça que Debian et Ubuntu sont configurés pour mettre les liens vmlinuz et initrd.img à la racine et non dans /boot
Du coup, à mon avis, il n'est pas possible pour l'instant de configurer Grub2 pour qu'il ignore ces liens.

En bidouillant le /etc/grub.d/10_linux il est possible de limiter le nombre de noyaux affichés : http://ubuntuforums.org/archive/index.p … 87602.html (§2. Limiting Main Kernel Entries)

Donc à toi de voir. Tu peux éventuellement utiliser les chaînages entre Grubs ...


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#9 Le 17/11/2012, à 15:08

ahlner

Re : Menu grub 2 : répétitions apparemment inutiles.

Merci pour le lien.

Hors ligne

#10 Le 17/11/2012, à 16:04

xabilon

Re : Menu grub 2 : répétitions apparemment inutiles.

Avant de bidouiller, je te conseille quand même de faire une sauvegarde du contenu de /etc/grub.d, ainsi que du /boot/grub/grub.cfg


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#11 Le 19/11/2012, à 23:23

ahlner

Re : Menu grub 2 : répétitions apparemment inutiles.

xabilon,

J'avais accepté ton argumentation au sujet du contenu /boot dans openSUSE. Ils sont similaires.
Mais j'avais remarqué que la 12.1 n'était affichée qu'une fois dans le menu de grub2 12.04
12.1 en grub-legacy
12.2 en grub2
J'ai tenté l'idée suivante : dans la 12.2 j'ai refait la config du démarrage de grub2 en grub-legacy.
Ensuite dans LTS 12.04, j'ai lancé un :

update-grub

et voici le résultat : pas d'affichage en multiple pour la 12.2.
Je pense à une interaction, une "conversation" entre les deux grub2. comment je ne sais pas.
Si, peut-être : grub2 de la 12.04 va lire celui de la 12.2.
La 12.2 a maintenant un problème de démarrage  n'ayant pas bien digéré le changment!
Mais elle démarre quand même en Failsafe par une option "fast-boot".
Mais j'ai trouvé la cause du problème des lignes multiples. Voici le grub.cfg de LTS 12.04

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
  set have_grubenv=true
  load_env
fi
set default="0"
if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}

function load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_gpt
insmod ext2
set root='(hd1,gpt4)'
search --no-floppy --fs-uuid --set=root 3e1c2131-7b97-4132-9098-c3e7ea84639b
if loadfont /share/grub/unicode.pf2 ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  insmod part_gpt
  insmod ext2
  set root='(hd1,gpt2)'
  search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
  set locale_dir=($root)/boot/grub/locale
  set lang=fr_FR
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ]; then
  set timeout=-1
else
  set timeout=10
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
if background_color 44,0,30; then
  clear
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
if [ "${linux_gfx_mode}" != "text" ]; then load_video; fi
menuentry 'Ubuntu, avec Linux 3.2.0-33-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    linux    /boot/vmlinuz-3.2.0-33-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro   quiet splash $vt_handoff
    initrd    /boot/initrd.img-3.2.0-33-generic-pae
}
menuentry 'Ubuntu, avec Linux 3.2.0-33-generic-pae (mode de dépannage)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    echo    'Chargement de Linux 3.2.0-33-generic-pae ...'
    linux    /boot/vmlinuz-3.2.0-33-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro recovery nomodeset
    echo    'Chargement du disque mémoire initial ...'
    initrd    /boot/initrd.img-3.2.0-33-generic-pae
}
submenu "Previous Linux versions" {
menuentry 'Ubuntu, avec Linux 3.2.0-32-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    linux    /boot/vmlinuz-3.2.0-32-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro   quiet splash $vt_handoff
    initrd    /boot/initrd.img-3.2.0-32-generic-pae
}
menuentry 'Ubuntu, avec Linux 3.2.0-32-generic-pae (mode de dépannage)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    echo    'Chargement de Linux 3.2.0-32-generic-pae ...'
    linux    /boot/vmlinuz-3.2.0-32-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro recovery nomodeset
    echo    'Chargement du disque mémoire initial ...'
    initrd    /boot/initrd.img-3.2.0-32-generic-pae
}
menuentry 'Ubuntu, avec Linux 3.2.0-31-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    linux    /boot/vmlinuz-3.2.0-31-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro   quiet splash $vt_handoff
    initrd    /boot/initrd.img-3.2.0-31-generic-pae
}
menuentry 'Ubuntu, avec Linux 3.2.0-31-generic-pae (mode de dépannage)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    echo    'Chargement de Linux 3.2.0-31-generic-pae ...'
    linux    /boot/vmlinuz-3.2.0-31-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro recovery nomodeset
    echo    'Chargement du disque mémoire initial ...'
    initrd    /boot/initrd.img-3.2.0-31-generic-pae
}
menuentry 'Ubuntu, avec Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    linux    /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro   quiet splash $vt_handoff
    initrd    /boot/initrd.img-3.2.0-23-generic-pae
}
menuentry 'Ubuntu, avec Linux 3.2.0-23-generic-pae (mode de dépannage)' --class ubuntu --class gnu-linux --class gnu --class os {
    recordfail
    insmod gzio
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    echo    'Chargement de Linux 3.2.0-23-generic-pae ...'
    linux    /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=fbbce90a-87fe-4ad2-8efc-1bf84ed70811 ro recovery nomodeset
    echo    'Chargement du disque mémoire initial ...'
    initrd    /boot/initrd.img-3.2.0-23-generic-pae
}
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    linux16    /boot/memtest86+.bin
}
menuentry "Memory test (memtest86+, serial console 115200)" {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt2)'
    search --no-floppy --fs-uuid --set=root fbbce90a-87fe-4ad2-8efc-1bf84ed70811
    linux16    /boot/memtest86+.bin console=ttyS0,115200n8
}
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Microsoft Windows XP Professionnel (on /dev/sda1)" --class windows --class os {
    insmod part_msdos
    insmod ntfs
    set root='(hd0,msdos1)'
    search --no-floppy --fs-uuid --set=root 8C100AD4100AC4E4
    drivemap -s (hd0) ${root}
    chainloader +1
}
menuentry "openSUSE 12.2 (on /dev/sdb10)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt10)'
    search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    linux /boot/vmlinuz-3.4.11-2.16-default root=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part10 video=1280x1024 resume=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part1 splash=silent quiet showopts
    initrd /boot/initrd-3.4.11-2.16-default-kdump
}
menuentry "Failsafe -- openSUSE 12.2 (on /dev/sdb10)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt10)'
    search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    linux /boot/vmlinuz-3.4.11-2.16-default root=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part10 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe
    initrd /boot/initrd-3.4.11-2.16-default-kdump
}
menuentry "Kernel-3.4.11-2.16-default (on /dev/sdb10)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt10)'
    search --no-floppy --fs-uuid --set=root de033063-7ae7-4851-b5a1-569b4221051c
    linux /boot/vmlinuz-3.4.11-2.16-default root=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part10 video=1280x1024 resume=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part1 splash=silent quiet showopts
    initrd /boot/initrd-3.4.11-2.16-default
}
menuentry "openSUSE 12.1 - 3.1.10-1.16 (on /dev/sdb6)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt6)'
    search --no-floppy --fs-uuid --set=root 624f835f-37e3-47b8-838d-d8104da09d58
    linux /boot/vmlinuz-3.1.10-1.16-default root=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part6 resume=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part1 splash=silent quiet showopts vga=0x31a
    initrd /boot/initrd-3.1.10-1.16-default
}
menuentry "Failsafe -- openSUSE 12.1 - 3.1.10-1.16 (on /dev/sdb6)" --class gnu-linux --class gnu --class os {
    insmod part_gpt
    insmod ext2
    set root='(hd1,gpt6)'
    search --no-floppy --fs-uuid --set=root 624f835f-37e3-47b8-838d-d8104da09d58
    linux /boot/vmlinuz-3.1.10-1.16-default root=/dev/disk/by-id/ata-Maxtor_6L080L0_L25ZEN8G-part6 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x31a
    initrd /boot/initrd-3.1.10-1.16-default
}
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# 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.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Dernière modification par ahlner (Le 19/11/2012, à 23:54)

Hors ligne

#12 Le 22/11/2012, à 19:14

ahlner

Re : Menu grub 2 : répétitions apparemment inutiles.

Salut,

Après réinstallation de la 12.2 avec grub-legacy, pas de répétiions dans grub2-12.04
12.1 et 12.2 ont la même structure : leur /boot est similaire.
Ce qui intervient est grub2.
Après remplacement de la 12.1 par LTS 10.04, pas de répétitions dans la 12.04 et la 10.04
Apparemment, problème entre grub2 Ubuntu et grub2 openSUSE.
Ma recherche semble terminée.
Quant à la cause première, il faudrait savoir comment "travaillent" ces deux grub2.

Hors ligne

#13 Le 22/11/2012, à 21:27

xabilon

Re : Menu grub 2 : répétitions apparemment inutiles.

Là ça dépasse mes connaissances smile


Pour passer un sujet en résolu : modifiez le premier message et ajoutez [Résolu] au titre.

Hors ligne

#14 Le 22/11/2012, à 22:44

ahlner

Re : Menu grub 2 : répétitions apparemment inutiles.

Merci d'avoir répondu.
Je vais créer un thread dans mon esprit (multitâches) pour qu'il travaille en arrière-plan!
Blagons un peu.
Comment nomerais-tu un système informatique dans un bâtiment où travailleraient toutes les races et couleurs de l'humanité?
Un système multitaches!

Hors ligne