Après quelques mois d’utilisation, mon grub ressemble inévitablement à ça :

Oui, je fais une collection de kernels, et alors? :D
Bref, tout ça pour dire que je fini par me retrouver avec 4 ou 5 noyaux, ce qui est, d’une part, inutile, et d’autre part gênant quand il faut commencer à scroller pour attendre la ligne « Windows » tout en bas de la liste (ok, je n’ai qu’à pas utiliser Windows, mais c’est pas la question :p ). Il y a bien la méthode crade d’adapter simplement grub, mais c’est quand même plus propre de supprimer tous ces noyaux inutiles. Voici comment faire.
Lister tous les noyaux installés
dpkg -l | grep linux-image
ii linux-image-2.6.31-19-generic 2.6.31-19.56 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-20-generic 2.6.31-20.58 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-21-generic 2.6.31-21.59 Linux kernel image for version 2.6.31 on x86
ii linux-image-2.6.31-22-generic 2.6.31-22.60 Linux kernel image for version 2.6.31 on x86
ii linux-image-generic 2.6.31.22.35 Generic Linux kernel image
On voit à la fin le paquet générique du kernel. Il ne faut pas le supprimer.
En théorie, à chaque paquet « linux-image » est associé 2 paquets « linux-headers ».
dpkg -l | grep linux-headers
ii linux-headers-2.6.31-19 2.6.31-19.56 Header files related to Linux kernel version
ii linux-headers-2.6.31-19-generic 2.6.31-19.56 Linux kernel headers for version 2.6.31 on x
ii linux-headers-2.6.31-20 2.6.31-20.58 Header files related to Linux kernel version
ii linux-headers-2.6.31-20-generic 2.6.31-20.58 Linux kernel headers for version 2.6.31 on x
ii linux-headers-2.6.31-21 2.6.31-21.59 Header files related to Linux kernel version
ii linux-headers-2.6.31-21-generic 2.6.31-21.59 Linux kernel headers for version 2.6.31 on x
ii linux-headers-2.6.31-22 2.6.31-22.60 Header files related to Linux kernel version
ii linux-headers-2.6.31-22-generic 2.6.31-22.60 Linux kernel headers for version 2.6.31 on x
ii linux-headers-generic 2.6.31.22.35 Generic Linux kernel headers
Suppression des noyaux inutiles
Il est recommandé de conserver les 2 noyaux les plus récents (le plus récent pour une utilisation courante, l’autre en cas de problème sur le dernier noyau). Dans mon cas, je veux donc supprimer les versions 2.6.31-19.56 et 2.6.31-20.58 du noyau.
Ensuite, tout se fait classiquement avec apt-get et son option –purge :
sudo apt-get remove linux-image-2.6.31-19-generic linux-headers-2.6.31-19 linux-headers-2.6.31-19-generic linux-image-2.6.31-20-generic linux-headers-2.6.31-20 linux-headers-2.6.31-20-generic --purge
Grub sera (normalement) mis à jour automatiquement.