Grub cassé après installation d'un nouveau kernel

Bonjour à tous et félicitation pour le passage à la nouvelle version statble (Squeeze),

Sur Debian Lenny (v5) mon grub était bien jusqu’au jour ou j’ai installé le noyau linux -2.6.26-2-vserver-686-bigmem (Pour une question de ram de plus de 4 Go). Au prochain reboot je n’arrive plus à démarrer.

J’utilise alors un live cd (rescatux) spécialement conçu pour corriger ces problèmes avec le grub mais rien de mieux.

finalement, après plusieurs tentatives à la mains, j’ai trouvé que le numéro des partitions s’est décalé de 1 du genre :

ce que j’ai actuellement (et qui ne boot pas) :

 root            (hd0,6)
 kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/sda7 ro

ce qu’il doit être (je fait l’edition à chaque fois au démarrage pour corriger ainsi) :

root            (hd0,5)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/sda6 ro

Même si je corrige cela une fois pour toute en éditant le fichier menu.lst , et ben si je réinstalle un autre noyau, j’ai le même problème.

Pouvez-me dire d’ou viennent ces mauvaises valeurs des partitions (décalé de 1)?

Merci beaucoup

Je suppose que tu as du retailler tes partitions pour provoquer ce décalage.
Une autre explication serait une confusion entre grub et grub2.

Grub-legacy, grub ancienne version numérote les disques et les partitions à partir de zéro
0=premier
1=second
2=troisième …
(hd0,5) = premier disque, sixième partition

Grub2 numérote les disques comme grub-legacy (0=premier) mais pas
les partitions
(hd0,msdos5) = premier disque, cinquième partition

Pour en venir à ton problème,
Change la valeur de kopt dans /boot/grub/menu.list

kopt=root=/dev/sda6 ro

( ne pas supprimer “#” )
et remet grub-legacy à jour.

Bonjour etxeberrizahar et merci pour ta réponse.

En effet j’ai changé le # kopt (qui ressemble à un commentaire, mais qui est parsé par grub-update) ,

[code]
###passé de sda7 à sda6

kopt=root=/dev/sda6 ro[/code]

et en plus j’ai changé le groot

[code]

default grub root device

passé de (hd0,6) à (hd0,5)

groot=(hd0,5)[/code]

J’ai appliqué les modifications avec

ça marche parfaitement.

La question maintenant, si je réinstalle un nouveau noyau, est ce que je vais avoir le même problème ?

Merci

Salut

Juste un petit conseil pour éviter ce genre de désagrément. Au lieu de désigner les partition par /dev/XXX, utiliser les UUID correspondant. Avec ça pas de mauvaise surprise.

Bonjour martin_mtl et merci pour ta réponse.

En effet, j’utilise désormais le UUID qui est un moyen unique pour identifier mes partitions.

Grace à la commande blkid (de préférence car donne un affichage mieux détaillé) ou bien ls -l /dev/disk/by-uuid j’ai pu récupérer mon UUID de la partition de boot.

j’ai changé le kopt et j’ai fait un update-grub

# kopt=root=UUID=1ad0cc39-40b4-40b8-9efc-34490911e2b3

Je pense que je n’aurai pas de problème après ça.

Bonne soirée.