Bonjour à tous,

Mon installation de grub est pas super depuis que j'ai installé une Ubuntu à côté de Fed et Win... (pas de partition /boot séparée)

J'ai l'impression que c'est le grub d'Ubuntu qui a pris le pouvoir sur celui de Fedora donc à chaque maj kernel de Fedora, le grub ne me permet pas d'accéder aux derniers kernels...

Comme pourrais je rendre le Grub de Fedora maître car je n'utilise que très peu Ubuntu et ne fait donc pas de maj... (utilisation très spécifique)

Merci 🙂
Comme pourrais je rendre le Grub de Fedora maître


Ce n'est pas spécialement difficile, tu as plein de tutos de grub2 en ligne.

En gros tu dois faire l'équivalent de ce qui sur grub 0.97 était:

find /boot/grub/stage1
puis
setup hd(x,y)

à la suite de quoi tu fais le chainloader.
Tu as des spécialistes de grub2 sur le forum, et je n'en fais pas partie. Ils vont sans doute t'aider !
Hum, j'ai vu sur les forums ubuntu qu'un
grub-mkdevicemap
update-grub
Pourrait le faire.

Quelqu'un pourrait il me le confirmer ? Je voudrais vraiment éviter de tout péter ! ^^"
update-grub n'existe pas sous Fedora.

Sinon moi, tout simplement, je réinstallerai le grub de Fedora à la place de celui d'Ubuntu

Par exemple
su -
grub2-install /dev/sda
si tu as bien un sda et si c'est bien sur le mbr que tu as mis le grub d'Ubuntu

Après, si tu veux être sur que grub2 prenne bien en compte Ubuntu (car après tout ton grub2 date peut être d'avant ton installation Ubunutu)

fait avant un
grub2-mkconfig -o /boot/grub2/grub.cfg
qui devrait voir la nouvelle partiton Ubuntu
(verifie dans le fichier grub.cfg si il y a bien la ligne correpondant à Ubuntu)
Hum , étrange !
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
/sbin/grub2-probe: error: cannot stat `/dev/root'.
Ca te dit quelque chose ?
non ça ne me dit rien
enfin si : ça ne me dit rien qui vaille

tu es bien sous ta Fedora 16 en root ?
Pas de chroot ?

Edit google ça semble lui dire quelque chose
Ouep, j'ai bien vu qu'il y avait déjà un bug là dessus...

En fait, ce qui me chiffone c'est que je boot sous un vieux kernel (logique, le grub2 de Ubuntu m'empêche de booter sous un kernel récent : 3.1.2-1.fc16.x86_64

Comment pourrais je booter sous un kernel plus récent afin de reconstruire mon grub2 ? :/
bonjour,
le grub2 de Ubuntu m'empêche de booter sous un kernel récent : 3.1.2-1.fc16.x86_64
pourquoi
il suffit d'ajouter la ligne qui va bien avec
dans 40_custom
pour la modif http://doc.ubuntu-fr.org/grub-pc
vu que c'est un peu different de fedora
a+
C'est bon, j'ai réussi à booter sur mon dernier kernel et j'ai fait un update.

Cependant, toujours le même problème :
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
/sbin/grub2-probe: error: cannot stat `/dev/root'.
J'ai regardé ici, il semblerait que initramfs résolve les problèmes... qu'est ce donc?
Apparemment soit créer un initramfs avec dracut,

soit carrément se passer de initramfs en reconfigurant grub.
Pour reconstruire un système parfait:

Tu crées le initramfs avec dracut
Tu corriges à la main le fichier /boot/grub2/grub.cfg en ajoutant à l'entrée concernée les lignes voulues pour qu'il soit pris en compte au prochain démarrage, soit dans mon cas
        echo    'Loading initial ramdisk ...'
        initrd  /boot/initramfs-3.1.7-1.fc16.i686.img
Puis tu rebootes directement et une fois redémarré, tu relances la commande

# grub2-mkconfig -o /boot/grub2/grub.cfg
J'ai regardé un peu, je ne comprends pas ce que tu entends par "Créer un initramfs avec dracut" ? oÔ
Cela fera t'il pointer mon MBR sur le grub de Fedora ? Car si ce n'est pas le cas, il faut que j'aille modifier le grub.conf d'Ubuntu pour pouvoir rebooter non ?
Attends j'ai répondu à ton post là:
Cependant, toujours le même problème :
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
/sbin/grub2-probe: error: cannot stat `/dev/root'.
J'ai regardé ici, il semblerait que initramfs résolve les problèmes...
Pour régler l'erreur "cannot stat `/dev/root'" je t'ai indiqué la méthode.

Ensuite la question de savoir lequel des 2 grub prend la main au démarrage, ça se résoud avec grub-install.
Ouep, je suis d'accord que pour régler le problème du grub au démarrage, je dois utiliser grub2-*
Mais ce que je comprend pas c'est
Tu crées le initramfs avec dracut
Dracut est le programme qui sert à créer les fichiers initramfs.
dracut - create initial ramdisk images for preloading modules
j'ai bien reconstruit un initramfs mais je pense que je boot pas comme il faut.
Comme expliqué auparavant, je boot via le grub d'Ubuntu, voici le grub.cfg :
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 recordfail {
  set recordfail=1
  if [ -n ${have_grubenv} ]; then if [ -z ${boot_once} ]; then save_env recordfail; fi; fi
}
insmod ext2
set root='(hd0,9)'
search --no-floppy --fs-uuid --set 11e7d1aa-6345-4551-9799-fe823b818e90
if loadfont /usr/share/grub/unicode.pf2 ; then
  set gfxmode=640x480
  insmod gfxterm
  insmod vbe
  if terminal_output gfxterm ; then true ; else
    # For backward compatibility with versions of terminal.mod that don't
    # understand terminal_output
    terminal gfxterm
  fi
fi
insmod ext2
set root='(hd0,9)'
search --no-floppy --fs-uuid --set 11e7d1aa-6345-4551-9799-fe823b818e90
set locale_dir=($root)/boot/grub/locale
set lang=fr
insmod gettext
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
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Ubuntu, avec Linux 2.6.32-37-generic' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod ext2
        set root='(hd0,9)'
        search --no-floppy --fs-uuid --set 11e7d1aa-6345-4551-9799-fe823b818e90
        linux   /boot/vmlinuz-2.6.32-37-generic root=UUID=11e7d1aa-6345-4551-9799-fe823b818e90 ro   quiet splash
        initrd  /boot/initrd.img-2.6.32-37-generic
}
menuentry 'Ubuntu, avec Linux 2.6.32-37-generic (mode de dépannage)' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        insmod ext2
        set root='(hd0,9)'
        search --no-floppy --fs-uuid --set 11e7d1aa-6345-4551-9799-fe823b818e90
        echo    'Chargement de Linux 2.6.32-37-generic ...'
        linux   /boot/vmlinuz-2.6.32-37-generic root=UUID=11e7d1aa-6345-4551-9799-fe823b818e90 ro single 
        echo    'Chargement du disque mémoire initial ...'
        initrd  /boot/initrd.img-2.6.32-37-generic
}


[...]

menuentry "Fedora release 16 (Verne) (on /dev/sda3)" {
        insmod ext2
        set root='(hd0,3)'
        search --no-floppy --fs-uuid --set 5895fab5-3c8d-48fb-b8ae-ffba30048a2a
        linux /boot/vmlinuz-3.1.8-2.fc16.x86_64 root=/dev/sda3
}
menuentry "Fedora release 16 (Verne) (on /dev/sda3)" {
        insmod ext2
        set root='(hd0,3)'
        search --no-floppy --fs-uuid --set 5895fab5-3c8d-48fb-b8ae-ffba30048a2a
        linux /boot/vmlinuz-3.1.9-1.fc16.x86_64 root=/dev/sda3
}
Oui c'est clair que là tu démarres avec le grub de Ubuntu et si tu veux changer ça alors tu dois lancer Fedora et à partir de là refaire un grub-install.

Enfin c'est une manip qui doit pouvoir se faire aussi à partir de Ubuntu, ya pas de raison.