web-dev-qa-db-fra.com

L'ancienne version du noyau fonctionne toujours après plusieurs mises à jour

Actuellement en cours d'exécution 3.11.0-18, mais de nombreuses autres versions ultérieures sont installées. Pour une raison quelconque, les mises à jour ne sont pas sélectionnées pour grub:

$ uname -r
3.11.0-18-generic

Liste des noyaux:

$ Sudo /usr/sbin/update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-3.13.0-55-generic
Found initrd image: /boot/initrd.img-3.13.0-55-generic
Found linux image: /boot/vmlinuz-3.13.0-46-generic
Found initrd image: /boot/initrd.img-3.13.0-46-generic
Found linux image: /boot/vmlinuz-3.13.0-43-generic
Found initrd image: /boot/initrd.img-3.13.0-43-generic
Found linux image: /boot/vmlinuz-3.13.0-40-generic
Found initrd image: /boot/initrd.img-3.13.0-40-generic
Found linux image: /boot/vmlinuz-3.13.0-39-generic
Found initrd image: /boot/initrd.img-3.13.0-39-generic
Found linux image: /boot/vmlinuz-3.13.0-35-generic
Found initrd image: /boot/initrd.img-3.13.0-35-generic
Found linux image: /boot/vmlinuz-3.11.0-18-generic
Found initrd image: /boot/initrd.img-3.11.0-18-generic
Found linux image: /boot/vmlinuz-3.13.0-55-generic
Found initrd image: /boot/initrd.img-3.13.0-55-generic
Found linux image: /boot/vmlinuz-3.13.0-46-generic
Found initrd image: /boot/initrd.img-3.13.0-46-generic
Found linux image: /boot/vmlinuz-3.13.0-43-generic
Found initrd image: /boot/initrd.img-3.13.0-43-generic
Found linux image: /boot/vmlinuz-3.13.0-40-generic
Found initrd image: /boot/initrd.img-3.13.0-40-generic
Found linux image: /boot/vmlinuz-3.13.0-39-generic
Found initrd image: /boot/initrd.img-3.13.0-39-generic
Found linux image: /boot/vmlinuz-3.13.0-35-generic
Found initrd image: /boot/initrd.img-3.13.0-35-generic
Found linux image: /boot/vmlinuz-3.11.0-18-generic
Found initrd image: /boot/initrd.img-3.11.0-18-generic
Found memtest86+ image: /boot/memtest86+.bin
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done

J'ai remarqué que mon /boot/grub/grub.cfg contient en fait le noyau le plus récent, mais pas à la position 0. Il semble que ce soit vraiment un gâchis (500+ lignes), mais c'est ce que génère update-grub. Comment puis-je résoudre ce problème?

$ cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT="0"
GRUB_RECORDTAIL_TIMEOUT="2"
GRUB_HIDDEN_TIMEOUT="5"
GRUB_HIDDEN_TIMEOUT_QUIET="false"
GRUB_TIMEOUT="5"
GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`"
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL="console"

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE="640x480"

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID="true"

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

GRUB_DISABLE_OS_PROBER="true"
GRUB_CMDLINE_LINUX="reboot=b

"Et aussi mon répertoire grub.d:

$ ll /etc/grub.d/
total 144
drwxr-xr-x   4 root root  4096 Jun 28 02:10 ./
drwxr-xr-x 167 root root 12288 Jun 28 01:40 ../
-rwxr-xr-x   1 root root  9424 Apr 11  2014 00_header*
-rwxr-xr-x   1 root root  6058 Apr 10  2014 05_debian_theme*
-rwxr-xr-x   1 root root 11608 Apr 11  2014 10_linux.dpkg-dist*
-rwxr-xr-x   1 root root   694 Mar 18  2014 10_linux_proxy*
-rwxr-xr-x   1 root root   172 Mar 18  2014 11_custom_proxy*
-rwxr-xr-x   1 root root   694 Mar 18  2014 12_linux_proxy*
-rwxr-xr-x   1 root root 10258 Oct 10  2013 13_linux_xen*
-rwxr-xr-x   1 root root  1798 Jun 17  2013 14_memtest86+*
-rwxr-xr-x   1 root root 11531 Oct 10  2013 15_os-prober*
-rwxr-xr-x   1 root root  1426 Oct 10  2013 16_uefi-firmware*
-rwxr-xr-x   1 root root   172 Mar 18  2014 17_custom_proxy*
-rwxr-xr-x   1 root root   216 Oct 10  2013 18_custom*
-rwxr-xr-x   1 root root 10412 Apr 11  2014 20_linux_xen.dpkg-dist*
-rwxr-xr-x   1 root root  1992 Mar 12  2014 20_memtest86+*
-rwxr-xr-x   1 root root 11692 Apr 11  2014 30_os-prober.dpkg-dist*
-rwxr-xr-x   1 root root  1416 Apr 11  2014 30_uefi-firmware.dpkg-dist*
drwxr-xr-x   2 root root  4096 Mar 18  2014 bin/
drwxr-xr-x   2 root root  4096 Mar 18  2014 proxifiedScripts/
-rw-r--r--   1 root root   483 Oct 10  2013 README

Edit: Ok tout est réparé maintenant. Il s'avère que j'avais un foiré /etc/defaults/grub fichier et scripts étranges dans /etc/grub.d/. J'ai restauré ces scripts à partir d'un démarrage livecd.

1
pieter3d

Le problème était qu'un tas de trucs bizarres étaient apparus dans /etc/grub.d (aucune idée de comment). Je l'ai restauré avec le contenu du CD live de ce même chemin. J'ai aussi réinstallé grub-pc Sudo apt-get install --reinstall grub-pc et le laisser écraser le courant etc/defaults/grub pour que tout redevienne normal. N'oubliez pas d'exécuter Sudo update-grub pour régénérer /boot/grub/grub.cfg.

1
pieter3d

Le noyau actuel pour LTS Trusty:

linux-generic-lts-trusty:
  Installed: (none)
  Candidate: 3.13.0.55.62

Pour l'installer exécutez:

Sudo apt-get update
Sudo apt-get install linux-generic-lts-trusty

Assurez-vous que vous disposez également de dkms dans certains cas, comme les pilotes vidéo installés manuellement, etc. Pour l'installer, exécutez: Sudo apt-get install dkms

Pendant l'installation du noyau, il devrait automatiquement mettre à jour initramfs et la configuration de démarrage. Une fois l'installation terminée, redémarrez le système et après le démarrage, suivez ce tutoriel pour supprimer les anciens noyaux du système.

Si vous ne démarrez toujours pas avec le dernier noyau, redémarrez le système et démarrez SHIFT pour accéder à Grub et choisir le dernier noyau avec lequel démarrer. Au démarrage, exécutez uname -r pour vous assurer que vous exécutez la dernière version puis exécutez:

Sudo update-initramfs -u -k all
Sudo update-grub

Ou suivez la suggestion de Pilot6 .

1
JoKeR

Vous avez configuré manuellement votre /etc/default/grub. C'est pourquoi ce problème est apparu.

Enlève ça

GRUB_DISABLE_OS_PROBER="true"
GRUB_CMDLINE_LINUX="reboot=b

Ensuite, exécutez

Sudo update-grub

Cela devrait être corrigé.

La dernière ligne est de la merde. Et GRUB_DISABLE_OS_PROBER ne permet pas de trouver de nouveaux noyaux.

Il peut y avoir d'autres erreurs cachées dans ce fichier. Voici celui par défaut.

# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1280x1024x32
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Vous pouvez simplement remplacer le vôtre par celui-ci.

J'espère que vous savez comment éditer les fichiers système en utilisant Sudo.

Voici le contenu de mon /etc/grub.d

00_header        10_linux      20_memtest86+  30_uefi-firmware  41_custom
05_debian_theme  20_linux_xen  30_os-prober   40_custom         README
0
Pilot6