OpenSuSE e Kernel non trovato

Mi ero appena seduto davanti al pc per avviare la mia distro preferita, quando leggo sul monitor un messaggio secondo il quale grub (il bootloader incaricato di lanciare linux) non riesce più a trovare il file del kernel /boot/vmlinuz-2.6.18.2-34-default. La cosa all'inizio mi coglie un po' impreparato perchè non ricordo di aver fatto alcuna ricompilazione o smanettamento di sorta.
Che fine avrà fatto il file in questione? Approfitto della presenza di grub che fornisce una shell minima per fare una piccola verifica sotto la cartella /boot.
Dopo aver visualizzato il messaggio e premuto invio mi ritrovo nella versione testuale di grub, da li digitando la lettera c entro in modalità console, con il comando help visualizzo la lista dei comandi a disposizione, inoltre grazie alla comoda funzione del tab complete posso girovagare nel filesystem senza andare troppo alla cieca.
Digitando /boot/vmlinuz seguito da un colpo di tab, noto infatti che la versione presente sul mio pc non è affatto la 2.6.18.2-34 bensì la 2.6.18.8-0.1.
A questo punto la situazione si chiarisce: avevo aggiornato il kernel direttamente da rug senza che il menù di grub fosse stato riadattato e senza che me ne fossi accorto tra l'altro.
Niente di grave, basta editare il campo del menù di grub che ci interessa e riportare le cose a posto.
Digito ESC per tornare al menù testuale, e da li premo su e dopo aver selezionato la voce relativa a opensuse. Ci sono tre righe:

root (hd0,5)
kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/hda6 vga=0x31a resume=/dev/hda5 splash=silent showopts
initrd /boot/initrd-2.6.18.2-34-default

Seleziono la seconda e premo nuovamente e per editarla, cambio la riga relativa alla versione del kernel e premo invio, stessa cosa per la terza riga, al fine di evitare un kernel panic:

root (hd0,5)
kernel /boot/vmlinuz-2.6.18.8-0.1-default root=/dev/hda6 vga=0x31a resume=/dev/hda5 splash=silent showopts
initrd /boot/initrd-2.6.18.8-0.1-default

a questo punto con il tasto b effettuo il boot direttamente e finalmente torna tutto come prima.
Le modifiche da me effettuate non vengono salvate automaticamente a quando sembra, così ho dovuto aprire una sessione root per modificare manualmente il file del menù

$ su
Password
# vi /boot/grub/menu.lst

Da li ho dovuto cambiare i riferimenti sia per la sezione di avvio normale che per quella di filesafe:

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.18.8-0.1-default root=/dev/hda6 vga=0x31a    resume=/dev/hda5 splash=silent showopts
    initrd /boot/initrd-2.6.18.8-0.1-default

...

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.18.8-0.1-default root=/dev/hda6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd-2.6.18.8-0.1-default
Per chi utilizza vi può risultare molto utile completare il percorso sfruttando una delle sue caratteristiche di completamento automatico: dopo aver cancellato la prima parte di vmlinuz relativa alla versione, sempre in modalità inserimento digitare CTRL + x e tenendo premuto il CTRL la lettera f.

Come al solito ho usato vi ma si può usare tranquillamente kwrite, anche se non avrete il completamento automatico del percorso.
In questo caso non c'è stato bisogno neanche del disco di openSuSE in modalità rescue, cosa di cui non avrei potuto fare a meno in caso avessi avuto lilo come bootloader.