Linux não inicia após atualização do Kernel

De LinuxPédia
Ir para: navegação, pesquisa

Normalmente nós usuários de linux gostamos de manter o Kernel do sistema atualizado. Mas as vezes a atualização dá errado e o sistema pode até não iniciar. Ocorre que o sistema guarda os Kernels anteriores para o caso de algum problema. O objetivo desse texto é explicar como fazer o boot por um Kernel mais antigo e como remover Kernel que não está em uso.

Realizar boot de um Kernel antigo

1 - Acessar o Menu do grub:

Para realizar boot de um Kernel mais antigo precisamos selecionar a opção do GRUB chamada "opções avançadas". No caso do PC possuir vários sistemas operacionais instalados o Menu do grub sempre aparecerá. Mas se o computador só tiver o linux instalado no PC o menu normalmente não aparece. Para fazer o menu aparecer segure a tecla SHIFT ao iniciar o computador. A imagem abaixo mostra um exemplo de menu do grub.

Grub-1.jpg

2 - Selecionar um Kernel antigo:

Ao selecionar "opções avançadas do Ubuntu" e pressionar ENTER caimos em um menu onde aparecem todos os Kernels instalados atualmente no sistema.

Grub-2.jpg

Agora basta selecionar um Kernel mais antigo que o atual (que gerou o problema) que o sistema iniciará normalmente rigorosamente da mesma forma que fazia antes da atualização que causou o problema.

Essa funcionalidade do sistema de guardar Kernels antigo é muito interessante para reestabelecer o sistema. O problema é que cada novo Kernel instalado ocupa espaço no HD. Pode ser que por algum motivo tenhamos o desejo de eliminar alguns Kernels que estão muito antigos.

Remover Kernel do sistema

1 - Verificar a versão do Kernel linux que está rodando agora: A saída do comando mostrará a versão atual.

# uname -r
3.13.0-39-generic

2 - Listar as versões instaladas: O comando mostrará todas os pacotes que iniciam com linux-headers-

# dpkg -l | grep linux-headers-*
ii  linux-headers-3.13.0-24                               3.13.0-24.47                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-24-generic                       3.13.0-24.47                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-29                               3.13.0-29.53                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-29-generic                       3.13.0-29.53                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-30                               3.13.0-30.55                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-30-generic                       3.13.0-30.55                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-32                               3.13.0-32.57                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-32-generic                       3.13.0-32.57                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-33                               3.13.0-33.58                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-33-generic                       3.13.0-33.58                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-34                               3.13.0-34.60                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-34-generic                       3.13.0-34.60                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-35                               3.13.0-35.62                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-35-generic                       3.13.0-35.62                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-36                               3.13.0-36.63                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-36-generic                       3.13.0-36.63                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-37                               3.13.0-37.64                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-37-generic                       3.13.0-37.64                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-3.13.0-39                               3.13.0-39.66                                        all          Header files related to Linux kernel version 3.13.0
ii  linux-headers-3.13.0-39-generic                       3.13.0-39.66                                        amd64        Linux kernel headers for version 3.13.0 on 64 bit x86 SMP
ii  linux-headers-generic                                 3.13.0.39.46                                        amd64        Generic Linux kernel headers

3 - Eliminar a versão que não queremos mais:

Nesse exemplo estamos eliminado a versão 3.13.0-29

#apt-get remove --purge linux-headers-3.13.0-29-generic

Fonte

blog do Albuquerque