Oui. Toutefois, la méthode qui utilise le script grub-install suppose de booter sur un live CD et par ailleurs, elle ne fonctionne pas toujours.
La méthode la plus directe, quand on dispose d'un shell grub minimal (grub> .....) repose sur l'utilisation de la commande setup comme exposé dans la documentation Grub:
http://doc.fedora-fr.org/wiki/GRUB_:_Les_bases_pour_Fedora#Utilisation_avanc.C3.A9e_du_mode_ligne_de_commandes
L'enchaînement est simple:
1- faire pointer sur la partition supportant /boot
grub> root (x,y)
x,y correspondent aux références du disque et de la partition pour Grub. Pour découvrir x, y, on peut soit:
- tenter directement la transposition référence pour fdisk -> grub. /dev/sda1 devient alors (hd0,2) par exemple (lire la documentation Grub) mais si l'installation s'est mal déroulée, il y a fort à parier que la vision "fdisk" diffère de la vision Grub
- utiliser find comme exposé par la documentation (mais cette commande ne fonctionne pas toujours)
- utiliser la complétion en tâtonnant (faire une recherche sur le forum. Le principe consiset à utiliser la touche [tab] pour forcer le shell Grub à proposer tous les compléments utiles).
2- lancer setup pour installer le stage1 de Grub sur le MBR et le faire pointer correctement sur la partition /boot (c'est expliqué dans la documentation):
grub> setup (hd0)
Bon, cela dit, le pb de bud_gw n'est pas là. Le stage 1.5 est bien amorcé, ce qui montre que Grub a su trouver la partition /boot correctement. Il n'y a pas lieu de réinstaller le MBR.
Le pb concerne sans doute la directive root de la ligne kernel. Une illustration:
kernel /vmlinuz-2.6.24.5-85.fc8 root=LABEL=/1 ro
root détermine la partition racine pour le lancement du noyau (ici /1 qui est traduit dans /etc/fstab en:
LABEL=/1 / ext3 defaults 1 1
En Fedora 9, la désignation de / pour la ligne kernel ne repose plus sur les labels mais sur les UUID.
Dans le cas cité en exemple, / correspond au label /1 et à l'UUID "226279bb-ead8-4b1c-a999-70abfad90f56".
On voit tout cela en passant la commande blkid (sur un système actif):
/dev/sda9: LABEL="/1" UUID="226279bb-ead8-4b1c-a999-70abfad90f56" SEC_TYPE="ext2" TYPE="ext3"
La compatibilité ascendante est assurée et on pourra donc chercher à modifier le paramètre root en revenant à l'écriture traditionnelle:
kernel /vmlinuz-2.6.24.5-85.fc8 root=/dev/sda9 ro
Pour tenter cette manip, il suffit d'enchaîner les commandes dans le shell Grub
grub> root (x,y)
grub> kernel /[tab] pour découvrir les noyaux possibles ... // l'autocomplétion!
grub> kernel /vmlinuz-2.6.24.7-92.fc8 root=/dev/sda9
grub> initrd /[tab ] etc .....
grub> initrd /initrd-2.6.24.7-92.fc8.img
grub> boot
Si le système démarre, on modifie alors /boot/grub/grub.conf en y introduisant tous les paramètres exploités.
Voilà ... Un peu de tâtonnement, quelques recherches sur le forum pour trouver des exemples (j'ai déjà expliqué plusieurs fois la manip) et le tour est joué.