Bonjour,
J'ai un petit problème avec grub2 (edit : faux, c'est grub v 0.97) sur ma mageia.
Suite très certainement à une installation initiale un peu naze, grub deux pense que ma partition de boot se trouve sur hd2 (/dev/sdc) au lieu de hd0 (/dev/sda)
A chaque mise à jour de noyau, le menu.lst est réécrit avec la fausse entrée hd2 (malgré un menu.lst pré-mise à jour corrigé avec hd0.
[root@hyperion ~]# cat /boot/grub/menu.lst
timeout 5
color black/cyan yellow/cyan
gfxmenu (hd0,0)/boot/gfxmenu
default 0
title linux
kernel (hd0,0)/boot/vmlinuz [...]
devient
[root@hyperion grub]# cat /boot/grub/menu.lst
timeout 5
color black/cyan yellow/cyan
gfxmenu (hd2,0)/boot/gfxmenu
default 0
title linux
kernel (hd2,0)/boot/vmlinuz [...]
initrd (hd2,0)/boot/initrd.img [...]
[...]
title desktop 3.3.1-1.mga2
kernel (hd2,0)/boot/vmlinuz-3.3.1-desktop-1.mga2 [...]
initrd (hd2,0)/boot/initrd-3.3.1-desktop-1.mga2.img
Un petit sed et tout rentre dans l'ordre…
[root@hyperion ~]# sed -i s/hd2/hd0/ /boot/grub/menu.lst
Mais comme je suis étourdi, un fois sur deux j'oublie de faire le sed et je me retrouve à éditer les paramètres de boot à la main dans le menu boot de grub
Certes je pourrais l'automatiser mais ce n'est pas élégant et je voudrais savoir comment réparer le problème.
J'ai fouillé dans avec un grep hd2 /boot/grub.
Il y a bien un install.sh
[root@hyperion grub]# cat install.sh
grub --device-map=/boot/grub/device.map --batch <<EOF
root (hd2,0)
setup --stage2=/boot/grub/stage2 (hd2,0)
quit
EOF
mais sa modification de hd2 en hd0 ne change rien non plus, il revient aussi à hd2 à chaque mise à jour.
Internet ne m'a pas été d'un grand secours sur ce sujet précis.
Ma question est donc : quel fichier/paramètre permet de définir la partition de boot de grub définitivement ?
# recalcule de device.map
Posté par NeoX . Évalué à 3.
dans ton exemple, il utilise le device.map
je dirais que c'est la dedans qu'il y a l'info que ton disque est hd2 et pas hd0
de memoire, il y a une option pour dire à grub de recalculer le device.map
[^] # Re: recalcule de device.map
Posté par littlebreizhman . Évalué à 1. Dernière modification le 03 avril 2012 à 15:47.
device.map contient la liste des disques durs.
(hd0) /dev/sda
(hd1) /dev/sdb
(hd2) /dev/sdc
(hd3) /dev/sdd
rien ne semble préciser quoi prendre en tant que partition de boot et lui imposer d'utiliser hd0,0 et pas hd2,0
j'ai bien trouvé grub-install qui semble fait pour faire le job mais j'ai un peu peur de faire des bêtises… notamment à cause du commentaire qui suit --recheck
au pire, je lirai le code de grub-install en bash ce soir…
[^] # Re: recalcule de device.map
Posté par claudex . Évalué à 4.
Et refaire un bête grub-install, sans utiliser l'option --recheck, c'est plus simple et ça ne risque pas grand chose (si on fait un peu attention) et ça résoudrait peut-être le problème.
« Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche
[^] # Re: recalcule de device.map
Posté par littlebreizhman . Évalué à 1.
C'est sûrement ce que je vais finir par faire…
Je trouvais ça juste bizarre que ce ne soit pas écrit quelque part.
[^] # Re: recalcule de device.map
Posté par littlebreizhman . Évalué à 1.
en passant, c'est grub legacy 0.97 et non grub2 qui est présent contrairement à ce que je pensais…
J'aurais du faire un grub --version dès le début.
d'où l'absence de /etc/grub.d/ et la présence de menu.lst (remplacer par grub.cfg dans grub 2)
Je retourne chercher sur le net en évitant les pages sur grub2..
# Une piste
Posté par Marotte ⛧ . Évalué à 4.
Je ne sais pas pour Mageia mais en tous cas pour Debian il ne faut pas modifier directement le menu.lst si tu veux que les changements restent suite aux mises à jour. Il faut intégrer tes changements aux fichiers dans /etc/grub.d/ (qui sont les templates utilisés par update-grub pour créer le menu.lst)
[^] # Re: Une piste
Posté par littlebreizhman . Évalué à 1. Dernière modification le 03 avril 2012 à 16:22.
Je n'ai pas ce genre de dossier.
Je pense qu'il correspond à /boot/grub ici.
Je pensais justement que /boot/grub/install.sh faisait office de template mais il semble lui même modifié à chaque mise à jour.
Si update-grub est un commande dispo sur Debian, mageia ne semble en disposer.
Et j'ai rien vu d'intéressant pour définir la partition de boot dans les outils graphiques du mcc.
[^] # Re: Une piste
Posté par Marotte ⛧ . Évalué à 3. Dernière modification le 03 avril 2012 à 16:26.
Non non, il y a bien /boot/grub aussi ici…
Tu devrais peut-être poser la question sur un forum Mageia ? Je ne peux pas t'aider je ne connais pas cette distribution. Bon courage en tous cas et peut-être qu'un Mageieu (?) passera par là. Qui sait ?
[^] # Re: Une piste
Posté par littlebreizhman . Évalué à 1.
moui, je pensais peut être à tort que ce problème de grub était plus général et non lié à une distrib précise.
J'irai éventuellement faire un tour sur les forums mageia…
Merci pour les infos.
[^] # Re: Une piste
Posté par littlebreizhman . Évalué à 1.
En fait, je me rate totalement sur le sujet, le configurateur de démarrage du mcc possède bien des options pour modifier le périphérique d’amorçage mais rien n'est réellement appliqué au final.
Cf le log de l’exécution ci dessous (si des fois cela parle à quelqu'un).
malheureusement hd2,0 reste dans le menu.lst
J'ai essayé de refaire les commandes du log à la mano dans le shell grub en remplaçant hd2 par hd0 mais sans succès, j'ai une erreur de fichier non trouvé.
Mais je ne comprends pas grand chose à ce 'File not found'. Le dossier /boot/grub contient bien stage1 et stage2 et est présent sur /dev/sda1 (hd0,0).
Je vais finir par refaire une installation du grub via le install-grub.sh. Ce sera peut être formateur.
# Question bonus
Posté par maxix . Évalué à 3.
C'est quoi "une installation initiale un peu naze"?
[^] # Re: Question bonus
Posté par littlebreizhman . Évalué à 1.
Le fait d'avoir choisi sans faire gaffe de coller le mdr dans sdc1 une première fois puis de recommencer l'installation suite à un crash en choisissant cette fois sda1.
C'est la cause que j'associe à ce bug. Peut être que je me trompe…
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.