Cohabitation entre Grub1 et Grub2 - Multi-distributions

Bonjour,

J’ai installé Mandriva 2010.2 sur SDA1 (disque USB) et ensuite Debian sur SDA5. Le GRUB2 de Debian est installé sur SDA5 tandis que le Grub de Mandriva est sur SDA (sur le MBR donc). Je ne peux pas pointer directement sur le GRUB2 de Debian à partir de Mandriva. J’ai contourné le problème en ciblant directement le noyau Debian mais cela ne me convient pas.

Voici le contenu du fichier /boot/grub/menu.lst de Mandriva :

# Cette solution me bloque en ligne de commande dans Grub2 Debian
title Debian Sid Grub2
root (hd0,5)
configfile /boot/grub/grub.cfg

# Solution directe fonctionnelle
title Debian 7 Wheezy-Sid
kernel (hd0,5)/boot/vmlinuz-2.6.38-2-amd64 root=UUID=9efbd02a-3eff-4582-ad32-53605aebd152 splash=silent vga=788
initrd (hd0,5)/boot/initrd.img-2.6.38-2-amd64

Donc, conformément à mes annotations, la première option ne fonctionne pas.

Voici le contenu du fichier /boot/grub/grub.cfg de Debian :

#
# 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
  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 load_video {
  insmod vbe
  insmod vga
  insmod video_bochs
  insmod video_cirrus
}

insmod part_msdos
insmod ext2
set root='(hd2,msdos6)'
search --no-floppy --fs-uuid --set=root 9efbd02a-3eff-4582-ad32-53605aebd152
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  load_video
  insmod gfxterm
fi
terminal_output gfxterm
insmod part_msdos
insmod ext2
set root='(hd2,msdos6)'
search --no-floppy --fs-uuid --set=root 9efbd02a-3eff-4582-ad32-53605aebd152
set locale_dir=($root)/boot/grub/locale
set lang=fr_FR
insmod gettext
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
insmod part_msdos
insmod ext2
set root='(hd2,msdos6)'
search --no-floppy --fs-uuid --set=root 9efbd02a-3eff-4582-ad32-53605aebd152
insmod png
if background_image /usr/share/images/desktop-base/spacefun-grub.png; then
  set color_normal=light-gray/black
  set color_highlight=white/black
else
  set menu_color_normal=cyan/blue
  set menu_color_highlight=white/blue
fi
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Debian GNU/Linux, avec Linux 2.6.38-2-amd64' --class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd2,msdos6)'
	search --no-floppy --fs-uuid --set=root 9efbd02a-3eff-4582-ad32-53605aebd152
	echo	'Loading Linux 2.6.38-2-amd64 ...'
	linux	/boot/vmlinuz-2.6.38-2-amd64 root=UUID=9efbd02a-3eff-4582-ad32-53605aebd152 ro  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.38-2-amd64
}
menuentry 'Debian GNU/Linux, avec Linux 2.6.38-2-amd64 (mode de dépannage)' --class debian --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd2,msdos6)'
	search --no-floppy --fs-uuid --set=root 9efbd02a-3eff-4582-ad32-53605aebd152
	echo	'Loading Linux 2.6.38-2-amd64 ...'
	linux	/boot/vmlinuz-2.6.38-2-amd64 root=UUID=9efbd02a-3eff-4582-ad32-53605aebd152 ro single 
	echo	'Loading initial ramdisk ...'
	initrd	/boot/initrd.img-2.6.38-2-amd64
}
### END /etc/grub.d/10_linux ###

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

### BEGIN /etc/grub.d/30_os-prober ###
}
menuentry "Windows 7 (loader) (on /dev/sda2)" --class windows --class os {
	insmod part_msdos
	insmod ntfs
	set root='(hd0,msdos2)'
	search --no-floppy --fs-uuid --set=root B6DA8625DA85E24B
	chainloader +1
}
menuentry "Mandriva 2010.2 (on /dev/sdc1)" --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd2,msdos1)'
	search --no-floppy --fs-uuid --set=root 3e7c65e7-b0a4-ce8a-9094-b573303efd68
	linux /boot/vmlinuz BOOT_IMAGE=Mandriva_2010.2 root=UUID=3e7c65e7-b0a4-ce8a-9094-b573303efd68 resume=UUID=7c577db7-ddd2-e0c6-3f5e-3087c738bc44 splash=silent vga=788
	initrd (hd0,0)/boot/initrd.img
}
menuentry "Mandriva 2010.2 Verbeux (on /dev/sdc1)" --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd2,msdos1)'
	search --no-floppy --fs-uuid --set=root 3e7c65e7-b0a4-ce8a-9094-b573303efd68
	linux /boot/vmlinuz BOOT_IMAGE=Mandriva_2010.2_Verbeux root=UUID=3e7c65e7-b0a4-ce8a-9094-b573303efd68 resume=UUID=7c577db7-ddd2-e0c6-3f5e-3087c738bc44
	initrd (hd0,0)/boot/initrd.img
}
menuentry "Mandriva 2010.2 failsafe (on /dev/sdc1)" --class gnu-linux --class gnu --class os {
	insmod part_msdos
	insmod ext2
	set root='(hd2,msdos1)'
	search --no-floppy --fs-uuid --set=root 3e7c65e7-b0a4-ce8a-9094-b573303efd68
	linux /boot/vmlinuz BOOT_IMAGE=Mandriva_2010.2_failsafe root=UUID=3e7c65e7-b0a4-ce8a-9094-b573303efd68 failsafe
	initrd (hd0,0)/boot/initrd.img
}
### 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 ###

Vu que Debian a été installé sur un disque externe USB, le problème ne pourrait-il pas venir d’une mauvaise notation du disque dur ? Grub2 voit la partition Debian comme root=’(hd2,msdos6)’. Ne serait-ce pas (hd0,6) ?

Merci par avance :wink:

[quote]Je ne peux pas pointer directement sur le GRUB2 de Debian à partir de Mandriva.
[/quote]
Ajoute ça au fichier menu.list en Mandriva

title cascade grub2 root (hd0,4) kernel /boot/grub/core.img
ou bien

title chainloader debian sda5 root (hd0,4) chainloader +1

Point critique : root (hd0,4) sera-t’il reconnu lors du démarrage depuis l’usb ?
essayer root (hd1,4) , se le faire confirmer par la complétion en grub (TAB).

J’ai testé en transformant (hd2,msdos6) sur le modèle (hd0,6) : même échec !

J’avais aussi testé le coup du chainloader +1 avec le même échec.

Je vais tester :

title cascade grub2 root (hd0,4) kernel /boot/grub/core.img

Je testerai aussi (selon) : root (hd0,4) en me le faisant confirmer avec .

Je teste les possibilités avec root. La complétion avec la touche de tabulation me donne :

  • root ( : possible : fd0 hd0 hd1 ou hd2
  • root (fd0) : non : pas de disquette
  • root (hd1, : non : me cible le premier disque interne (3 partitions)
  • root (hd2,0) : non : me cible le second disque interne (1 partition)
    Reste bel et bien :
  • root (hd0,0) : non : Mandriva
  • root (hd0,4) : non : Fedora
  • root (hd0,5) : oui : Debian mais ca bloque sans démarrer sur ce message :

Ah ! Ca fonctionne enfin avec :

title cascade grub2 root (hd0,5) kernel /boot/grub/core.img
J’arrive enfin sur le menu Grub2 de Debian.

Merci :smiley:

Salut,
De rien… Tu as oublié de passer ton sujet en résolu -> coche verte…