Vamos editar o parâmetro de configuração GRUB2 do CentOS 8 e alterá-lo usando o grubby para inicializar com o kernel antigo ou para alterar a entrada de inicialização padrão do kernel no sistema.
Grubby é uma ferramenta de linha de comando para atualizar e exibir informações sobre os arquivos de configuração para vários gerenciadores de inicialização específicos de arquitetura. Ele foi projetado principalmente para ser usado a partir de scripts que instalam novos kernels e precisam encontrar informações sobre o ambiente de inicialização atual. O Grubby usará essas configurações padrão para procurar uma configuração existente. Se nenhum arquivo de configuração do gerenciador de inicialização for encontrado, o grubby usará o valor padrão para essa arquitetura.
Da página de manual do grubby, aqui estão alguns dos argumentos que usaremos:
- –set-default=kernel-path = A primeira entrada que inicializa o kernel especificado torna-se a entrada de inicialização padrão. Isso não pode ser invocado com –set-default-index.
- –set-default-index=entry-index = Torna o número de entrada fornecido a entrada de inicialização padrão. Isso não pode ser invocado com –set-default. O valor fornecido representa o índice na lista de entradas de inicialização pós-modificação.
- –default-kernel = Exibe o caminho completo para o kernel padrão atual e saia.
- –default-index = Exibe o índice numérico da entrada e saída de inicialização padrão atual.
- –info=kernel-path = Exibe informações sobre todas as entradas de inicialização que correspondem ao caminho do kernel. Se kernel-path for DEFAULT, as informações sobre o kernel padrão serão exibidas. Se kernel-path for ALL, as informações sobre todas as entradas de inicialização serão exibidas.
Verifique o kernel de inicialização padrão e inicialize com o kernel antigo
#1 Antes de configurarmos nossa ditro para inicializar com a versão antiga do kernel, verifique o kernel padrão atual com o comando abaixo com grubby –default-kernel
[root@oraclelinux92 ~]# grubby --default-kernel /boot/vmlinuz-5.15.0-103.114.4.el9uek.x86_64
#2 Para verificar o índice mapeado com este kernel grubby –default-index
[root@oraclelinux92 ~]# grubby --default-index 0
O comando grubby –default-index terá uma saída NULL se apenas um kernel estiver instalado em seu sistema.
#3 Para obter mais informações sobre uma imagem initrd especificada, você pode usar o comando abaixo com grubby –info=
[root@oraclelinux92 ~]# grubby --info=/boot/vmlinuz-5.15.0-103.114.4.el9uek.x86_64 index=0 kernel="/boot/vmlinuz-5.15.0-103.114.4.el9uek.x86_64" args="ro crashkernel=1G-64G:448M,64G-:512M rd.lvm.lv=ol/root" root="/dev/mapper/ol-root" initrd="/boot/initramfs-5.15.0-103.114.4.el9uek.x86_64.img" title="Oracle Linux Server (5.15.0-103.114.4.el9uek.x86_64 with Unbreakable Enterprise Kernel) 9.2" id="6ccb67fb77b445ad89b8823e5f98fbd1-5.15.0-103.114.4.el9uek.x86_64"
#4 Liste de imagens initrd disponíveis em seu sistema com ls -l /boot/vmlinuz-*
[root@oraclelinux92 ~]# ls -l /boot/vmlinuz-* -rwxr-xr-x. 1 root root 13488976 ago 7 10:35 /boot/vmlinuz-0-rescue-6ccb67fb77b445ad89b8823e5f98fbd1 -rwxr-xr-x. 1 root root 12201712 ago 4 13:09 /boot/vmlinuz-5.14.0-284.25.1.0.1.el9_2.x86_64 -rwxr-xr-x. 1 root root 13488976 jun 26 14:13 /boot/vmlinuz-5.15.0-103.114.4.el9uek.x86_64
#5 Obtenha a lista de kernels disponíveis instalados em seu sistema executando rpm -qa | grep kernel | sort -V
[root@oraclelinux92 ~]# rpm -qa | grep kernel | sort -V kernel-5.14.0-284.25.1.0.1.el9_2.x86_64 kernel-core-5.14.0-284.25.1.0.1.el9_2.x86_64 kernel-devel-5.14.0-284.25.1.0.1.el9_2.x86_64 kernel-headers-5.14.0-284.25.1.0.1.el9_2.x86_64 kernel-modules-5.14.0-284.25.1.0.1.el9_2.x86_64 kernel-modules-core-5.14.0-284.25.1.0.1.el9_2.x86_64 kernel-srpm-macros-1.0-12.0.1.el9.noarch kernel-tools-5.14.0-284.25.1.0.1.el9_2.x86_64 kernel-tools-libs-5.14.0-284.25.1.0.1.el9_2.x86_64 kernel-uek-5.15.0-103.114.4.el9uek.x86_64 kernel-uek-core-5.15.0-103.114.4.el9uek.x86_64 kernel-uek-modules-5.15.0-103.114.4.el9uek.x86_64
Veja o kernel ativo no momento. Pode acontecer de não ser o padrão. Veja nosso post: Ver Versão do Kernel Padrão e a Ativa
Execute uname -r
[root@oraclelinux92 ~]# uname -r 5.14.0-284.25.1.0.1.el9_2.x86_64
#6 Pegue o kernel que deseja selecionar e veja qual o seu índice. Use o comando grubby –info=caminho-kernel. Por exemplo, eu quer colocar /boot/vmlinuz-5.14.0-284.25.1.0.1.el9_2.x86_64 carregar no boot.
[root@oraclelinux92 ~]# grubby --info=/boot/vmlinuz-5.14.0-284.25.1.0.1.el9_2.x86_64 index=1 kernel="/boot/vmlinuz-5.14.0-284.25.1.0.1.el9_2.x86_64" args="ro crashkernel=1G-64G:448M,64G-:512M rd.lvm.lv=ol/root" root="/dev/mapper/ol-root" initrd="/boot/initramfs-5.14.0-284.25.1.0.1.el9_2.x86_64.img" title="Oracle Linux Server (5.14.0-284.25.1.0.1.el9_2.x86_64) 9.2" id="6ccb67fb77b445ad89b8823e5f98fbd1-5.14.0-284.25.1.0.1.el9_2.x86_64"
O índice dele é 1. Portanto, inicialize seu sistema com o kernel mais antigo usando o comando abaixo usando a opção –set-default. Execute grubby –set-default-index=1
[root@oraclelinux92 ~]# grubby --set-default-index=1 The default is /boot/loader/entries/6ccb67fb77b445ad89b8823e5f98fbd1-5.14.0-284.25.1.0.1.el9_2.x86_64.conf with index 1 and kernel /boot/vmlinuz-5.14.0-284.25.1.0.1.el9_2.x86_64
#7 reinicie com um reboot ou init 6
[root@oraclelinux92 ~]# reboot
Comment on “Iniciar Outro kernel no RHEL, centos 8, Oracle Linux, Alma Linux, Rocky Linux…”