Uso de grubby para gestionar núcleos

Utilice el comando grubby para gestionar la configuración de GRUB 2 en el sistema, incluida la selección del núcleo de inicio predeterminado o la configuración de parámetros de inicio adicionales de la línea de comandos del núcleo que se utilizarán en el inicio.

Consulte la página del manual grubby(8) para obtener más información.

Comprobación de núcleos disponibles en el sistema

Los núcleos se denominan para incluir el número de versión ascendente, la compilación de distribución y la familia de núcleos.

Consulte Acerca de los núcleos de Linux para obtener contexto adicional.

Hay varios métodos disponibles para comprobar qué núcleos están disponibles en un sistema:

  1. Muestre los núcleos en el directorio /boot.
    ls -1 /boot/vmlinuz*

    El comando produce una lista exacta de núcleos disponibles en el sistema.

  2. Utilice el comando grubby en núcleos específicos o utilice la opción ALL.
    sudo grubby --info /boot/vmlinuz-kernel-version.kernel_suffix*
    sudo grubby --info ALL

    El comando proporciona información más completa sobre la configuración de inicio asociada con cada núcleo en el directorio /boot del sistema. Los detalles se basan en la configuración del título de GRUB.

Comparación del núcleo por defecto con el núcleo en ejecución

El núcleo en ejecución y el núcleo configurado como el núcleo predeterminado en el que GRUB 2 selecciona iniciar después de un período de timeout para el menú de inicio pueden diferir.

Si la versión del núcleo por defecto y la versión del núcleo en ejecución no son idénticas, los motivos subyacentes pueden ser uno de los siguientes:

  • Se instala un núcleo más nuevo, pero el sistema no se ha reiniciado.

  • Durante un reinicio del sistema, se seleccionó manualmente un núcleo diferente para que fuera el núcleo operativo.

  • El núcleo predeterminado se actualizó manualmente, pero el sistema no se reinició después de la actualización.

Para comparar el núcleo configurado por defecto con el núcleo en ejecución, haga lo siguiente:
  1. Compruebe el núcleo predeterminado configurado en GRUB 2.

    Para comprobar qué núcleo ya está configurado como núcleo predeterminado actual para usar en el inicio, ejecute:

    sudo grubby --default-kernel
  2. Compruebe la versión del núcleo en ejecución.

    Para comprobar qué núcleo se está ejecutando en un sistema, ejecute:

    uname -r

Cambio del núcleo predeterminado

Utilice grubby para establecer el núcleo predeterminado en el que se inicia GRUB2 después de alcanzar un período de timeout al mostrar el menú de inicio de GRUB2.

Puede cambiar el núcleo predeterminado de RHCK a UEK, de UEK a RHCK o cambiar a una versión específica del núcleo.

Puede seguir una de las dos opciones para establecer el núcleo predeterminado en GRUB 2, mediante el comando grubby, realice una de las siguientes acciones:

  1. Utilice el comando grubby --set-default para establecer el núcleo predeterminado.

    Para cambiar a un núcleo predeterminado diferente, ejecute el siguiente comando y asegúrese de especificar la ruta completa al núcleo predeterminado seleccionado:

    sudo grubby --set-default /boot/vmlinuz-kernel-version.kernel-suffix.arch

    Sustituya kernel-version y kernel_suffix por los valores que coinciden con el núcleo de destino. Por ejemplo, ejecute:

    sudo grubby --set-default /boot/vmlinuz-6.12.0-100.28.2.el10uek.x86_64

    El cambio se aplica inmediatamente y persiste tras los reinicios del sistema.

  2. Utilice el comando grubby --set-default-index para establecer el núcleo predeterminado para que coincida con el núcleo en un punto de índice determinado de la lista de inicio del núcleo. Los valores de índice se muestran cuando se ejecuta el comando grubby --info

    Por ejemplo, puede utilizar la opción --set-default-index=0 para definir el núcleo predeterminado en el primer núcleo que aparece en el índice de inicio del núcleo ejecutando:

    sudo grubby --set-default-index=0

Cambiar al núcleo RHCK o UEK disponible más reciente

Mediante el uso de la convención de nomenclatura para identificar los núcleos UEK y los núcleos RHCK que están disponibles en el directorio /boot, puede cambiar fácilmente el núcleo predeterminado para utilizar la versión más reciente de cualquier tipo de núcleo.

  • Para cambiar a la versión más reciente de UEK en el sistema, ejecute:
    sudo grubby --set-default $(ls /boot/vmlinuz-* | grep 'uek' | sort -V | tail -1)
  • Para cambiar a la versión más reciente de RHCK en el sistema, ejecute:
    sudo grubby --set-default $(ls /boot/vmlinuz-* | grep -v 'uek' | sort -V | tail -1)

Reinicie el sistema después de configurar el núcleo predeterminado para cambiar a ese tipo de núcleo.

Cambio de los parámetros de inicio de la línea de comandos del núcleo

En ocasiones, puede que necesite editar la configuración de GRUB 2 para especificar parámetros de inicio del núcleo concretos en la línea de comandos del núcleo. La configuración de parámetros en la configuración de GRUB 2 significa que los parámetros se utilizan para los núcleos afectados en cada inicio.

Puede actualizar la configuración de inicio de GRUB 2 para un núcleo específico o para todos los núcleos que están instalados en el sistema mediante lo siguiente:

  1. Utilice el comando grubby --update-kernel para actualizar una entrada del núcleo con --args para agregar nuevos argumentos o cambiar valores de argumentos existentes, o --remove-args para eliminar argumentos existentes.

    Se pueden especificar varios argumentos para cada opción en una lista separada por espacios entre comillas. Puede agregar y eliminar argumentos en la misma operación. Al utilizar la opción --args, si ya existe un argumento, el nuevo valor sustituye a los valores antiguos.

    Para actualizar un núcleo específico, ejecute el comando grubby --update-kernel con la ruta completa al núcleo que desea actualizar. Para actualizar todas las entradas del núcleo para utilizar un argumento de inicio de núcleo específico, puede utilizar grubby --update-kernel=ALL.

    Por ejemplo, puede actualizar todas las entradas del núcleo para cambiar los argumentos loglevel y LANG:

    sudo grubby --update-kernel=ALL --args "loglevel=3,LANG=en_GB.UTF-8"

    Consulte Referencia de parámetros de inicio del núcleo para obtener más información sobre los parámetros del núcleo.

  2. Verifique que los cambios se hayan aplicado y que los argumentos de la línea de comandos sean correctos para el núcleo que actualizó.

    Por ejemplo, si ha realizado un cambio en todos los núcleos, utilice el comando grubby --info ALL para comprobar que el cambio se implementa en todos los núcleos:

    sudo grubby --info ALL

Comprobación de la última línea de comandos del núcleo utilizada para iniciar el sistema

Los parámetros de inicio del núcleo que se utilizaron por última vez para iniciar un sistema se registran en /proc/cmdline.

Para obtener más información, consulte la página del manual kernel-command-line(7).

Compruebe el contenido de /proc/cmdline para ver la línea de comandos del núcleo que se utilizó para iniciar el sistema en ejecución.
cat /proc/cmdline
BOOT_IMAGE=(hd0,gpt2)/vmlinuz-5.15.0-208.159.3.2.el9uek.x86_64 
root=UUID=72dfa724-5feb-49e2-8869-40625bfebb01 ro 
resume=UUID=13078314-ebff-4c44-b18c-3445f6802198 
rd.luks.uuid=luks-a80f8f10-75b6-45de-b63e-64b8b6a3a94b 
rhgb quiet crashkernel=1G-64G:448M,64G-:512M