Alexandre Medeiros

Dicas para você passar na LPIC-1 e 2 e outros assuntos de TI

Como modificar o GRUB2 para dar boot em uma versão diferente do kernel?

O primeiro passo que precisamos realizar é checar qual a versão do Kernel atual. Para isso basta rodar o comando abaixo:

# uname -a
Linux geeklab 3.8.13-94.el7uek.x86_64 #2 SMP Wed Feb 11 14:18:22 PST 2015 x86_64 x86_64 x86_64 GNU/Linux

Depois disso iremos verificar as entradas de kernel que estão no arquivo do GRUB2:

# awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg

Oracle Linux Server, with Unbreakable Enterprise Kernel 3.8.13-94.el7uek.x86_64
Oracle Linux Server, with Unbreakable Enterprise Kernel 3.8.13-94.el7uek.x86_64 with debugging
Oracle Linux Server 7.1, with Linux 3.10.0-229.el7.x86_64
Oracle Linux Server 7.1, with Unbreakable Enterprise Kernel 3.8.13-55.1.6.el7uek.x86_64
Oracle Linux Server 7.1, with Linux 0-rescue-441e86c9ff854310a306bd33e56aae2b

Obs: A primeira entrada é tida com a posição zero. Então o servidor está atualmente bootando a partir da entrada zero conforme vimos no comando uname -a.

Se quisermos modificar o boot para outra versão de kernel, por exemplo a versão 3.10.0-229.el7.x86_64, precisamos executar o seguinte comando:

# grub2-set-default 2

O comando acima fará alterações no arquivo /etc/default/grub e por isso devemos reconstruir o grub.cfg com o comando abaixo:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-229.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-229.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.8.13-94.el7uek.x86_64
Found initrd image: /boot/initramfs-3.8.13-94.el7uek.x86_64.img
Found linux image: /boot/vmlinuz-3.8.13-55.1.6.el7uek.x86_64
Found initrd image: /boot/initramfs-3.8.13-55.1.6.el7uek.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-441e86c9ff854310a306bd33e56aae2b
Found initrd image: /boot/initramfs-0-rescue-441e86c9ff854310a306bd33e56aae2b.img
done

Caso queira testar e possa reiniciar o servidor (comando abaixo) o mesmo será reinicializado já na versão do kernel escolhida.

# shutdown -r now