misaine a écritje me demandais s'il était possible d'installer un grub (intégrant gfxboot) indépendant qui passerait la main a chaque OS présent grace à chainloader ?
l'avantage c'est qu'il ne serait pas touché par les MàJ du kernel.
a votre avis ?
Oui, c'est possible, c'est ce que je fais!
J'ai une petite partition (/dev/sda5) de quelques méga en ext2 dans laquelle je n'ai que le répertoire /boot (sans aucun noyau, juste un memtest) et /boot/grub et tous les fichiers nécessaires. Le fichier menu.lst est le suivant:
# menu.lst - See: grub(8), info grub, update-grub(8)
## default num
default 0
## timeout sec
timeout 10
## hiddenmenu
#hiddenmenu
# Pretty colours
color cyan/blue white/blue
## password ['--md5'] passwd
# password topsecret
title Ubuntu 6.06 i386
root (hd0,6)
chainloader +1
title Ubuntu 6.06 AMD64
root (hd0,8)
chainloader +1
title Microsoft Windows 2000/XP
root (hd0,0)
savedefault
makeactive
chainloader +1
title Memtest86+
root (hd0,4)
kernel /boot/memtest86+.bin
boot
title Reboot
reboot
title Halt
halt
Il suffit de monter cette partition (mount /dev/sda5 /mnt/grub par ex) et de lancer la création du MBR:
# grub-install /dev/sda --root-directory=/mnt/grub
Et bien sur il faut que les distributions aient créé un grub dans le mbr de leur partition racine (et pas sur celui du disque). Ca peut se faire lors de l'install ou alors la commande suivante recréé un MBR sur la partition voulue:
# grub-install /dev/sda7
Cette opération est à réserver à ceux qui n'ont pas peur de se retrouver face à un grub non/mal paramètré.
L'avantage de cette méthode c'est que chaque distribution va mettre à jour son grub sans modifier les autres. Il reste juste à ajouter une ligne au grub principal si on rajoute une autres distrib (il suffit juste d'éditer le fichier /boot/grub/menu.lst de la partition (dans mon cas) /dev/sda5 et aucune commande supp. à faire).