GNU/Linux >> Tutoriales Linux >  >> Linux

Linux – ¿Establecer kernel predeterminado en Grub?

¿Cómo puedo elegir qué kernel GRUB2 debería cargarse de forma predeterminada? Recientemente instalé el kernel en tiempo real de Linux y ahora se carga de forma predeterminada. Me gustaría cargar el normal por defecto.

Hasta ahora solo pude elegir el sistema operativo predeterminado... y por alguna razón el /boot/grub.cfg ya asume que quiero cargar el rt-kernel y ponerlo en la entrada del menú genérico de Linux (en mi caso, Arch Linux).

Respuesta aceptada:

Creo que la mayoría de las distribuciones han movido núcleos adicionales al submenú de opciones avanzadas en este punto, como TomTom descubrió que era el caso con su
Arch.

No quería alterar la estructura de mi menú de nivel superior para seleccionar un núcleo anterior como predeterminado. Encontré la respuesta aquí:

http://www.humans-enabled.com/2014/08/how-to-set-default-grub-kernel-boot.html

Para resumir:

1) Encuentra el $menuentry_id_option para el submenú:

$ grep submenu /boot/grub/grub.cfg
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {

2) Encuentra el $menuentry_id_option para la entrada de menú para el núcleo que desea utilizar:

$ grep gnulinux /boot/grub/grub.cfg
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
submenu 'Advanced options for Debian GNU/Linux' $menuentry_id_option 'gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-rt-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-rt-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-rt-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-rt-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.18.0-0.bpo.1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.18.0-0.bpo.1-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.17.0-0.bpo.1-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.17.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.17.0-0.bpo.1-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.17.0-0.bpo.1-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.9.0-8-amd64' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-8-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {
    menuentry 'Debian GNU/Linux, with Linux 4.9.0-8-amd64 (recovery mode)' --class debian --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.9.0-8-amd64-recovery-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc' {

3) Comente su grub predeterminado actual en /etc/default/grub y reemplácelo con $menuentry_id_option del submenú del paso uno, y el $menuentry_id_option del kernel seleccionado del paso dos separados por > .

En mi caso el modificado GRUB_DEFAULT es:

#GRUB_DEFAULT=0

GRUB_DEFAULT="gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc>gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc"

4) Actualizar grub para realizar los cambios. Para Debian esto se hace así:

$ sudo update-grub

Hecho. Ahora, cuando arranque, el menú avanzado debería tener un asterisco y debería arrancar en el kernel seleccionado. Puedes confirmar esto con uname .

$ uname -a
Linux NAME 4.18.0-0.bpo.1-amd64 #1 SMP Debian 4.18.0-0 (2018-09-13) x86_64 GNU/Linux

Volver a cambiar esto al kernel más reciente es tan simple como comentar la nueva línea y descomentar #GRUB_DEFAULT=0 :

GRUB_DEFAULT=0

#GRUB_DEFAULT="gnulinux-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc>gnulinux-4.18.0-0.bpo.1-amd64-advanced-38ea4a12-6cfe-4ed9-a8b5-036295e62ffc"

luego vuelva a ejecutar update-grub .


Linux
  1. Comprender systemd al inicio en Linux

  2. El ciclo de vida de las pruebas del kernel de Linux

  3. ¿Cómo configuro un nick predeterminado para nuevas conexiones irssi?

  4. Cómo configurar dos rutas predeterminadas en Linux

  5. ¿Usa el kernel 3.x de Linux el programador de procesos CFS?

Configure un servidor VPN en su PC con Linux

Comando Dmesg en Linux

Comando Sysctl en Linux

¿Linux es un sistema operativo o un kernel?

Núcleo de Linux vs. Núcleo de Mac

Linux - ¿Establecer el tamaño predeterminado del terminal y la posición de la pantalla?