Versão antiga do kernel ainda em execução após várias atualizações

1

Atualmente executando 3.11.0-18, mas muitas outras versões posteriores estão instaladas. Por algum motivo, as atualizações não estão sendo selecionadas para o grub:

$ uname -r
3.11.0-18-generic

Listando os kernels:

$ 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

Eu tenho notado que meu /boot/grub/grub.cfg na verdade contém o kernel mais novo, mas não na posição 0. Parece que é uma bagunça na verdade (mais de 500 linhas), mas é o que atualiza grub gera. Como faço para corrigir isso?

$ 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

" E também meu diretório 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

Editar: Ok, tudo está consertado agora. Acontece que eu tinha um arquivo /etc/defaults/grub bagunçado e scripts estranhos em /etc/grub.d/ . Eu restaurei esses scripts a partir de uma inicialização do liveecd.

    
por pieter3d 28.06.2015 / 07:44

3 respostas

1

O kernel atual para o LTS Trusty:

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

Para instalá-lo, execute:

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

Verifique se você também tem dkms em alguns casos, como drivers de vídeo instalados manualmente, etc. Para instalá-lo, execute: sudo apt-get install dkms

Durante a instalação do kernel, ele deve atualizar automaticamente o initramfs e a configuração de inicialização. Depois que a instalação estiver concluída, reinicie o sistema e, após a inicialização, siga este tutorial para remover os kernels antigos do sistema.

Se você ainda não estiver inicializando com o kernel mais recente, reinicie o sistema e carregue o SHIFT para obter o Grub e escolha o kernel mais recente para inicializar. Quando iniciado, execute uname -r para garantir que você execute o mais recente e execute:

sudo update-initramfs -u -k all
sudo update-grub

Ou siga a sugestão Pilot6 .

    
por JoKeR 28.06.2015 / 11:15
1

O problema era que um monte de coisas estranhas tinha aparecido em /etc/grub.d (não sei como). Eu restaurei com o conteúdo do live CD desse mesmo caminho. Também re-instalei o grub-pc sudo apt-get install --reinstall grub-pc e deixe-o sobrescrever o atual etc/defaults/grub para que tudo esteja normal novamente. Não se esqueça de executar sudo update-grub para gerar /boot/grub/grub.cfg .

    
por pieter3d 29.06.2015 / 01:09
0

Você configurou manualmente seu /etc/default/grub . É por isso que esse problema apareceu.

Remover isto

GRUB_DISABLE_OS_PROBER="true"
GRUB_CMDLINE_LINUX="reboot=b

Em seguida, execute

sudo update-grub

Deve ser corrigido.

A última linha é uma porcaria. E o GRUB_DISABLE_OS_PROBER não permite encontrar novos kernels.

Pode haver alguns outros erros ocultos nesse arquivo. Aqui está o padrão.

# 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"

Você pode simplesmente substituir o seu por este.

Espero que você saiba como editar arquivos do sistema usando sudo .

Este é o conteúdo do meu /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
    
por Pilot6 28.06.2015 / 11:18