Saltar al contenido

Establecer el kernel predeterminado en GRUB

No olvides que en la informática cualquier problema casi siempere puede tener diferentes soluciones, por lo tanto compartiremos lo más óptimo y mejor.

Solución:

Después de luchar durante 2 horas, encontré una manera mucho más fácil de lograrlo. Solo RTFM. 😉

Agregue dos líneas a / etc / default / grub

GRUB_SAVEDEFAULT=true
GRUB_DEFAULT=saved

Hacer el sudo update-grub, reinicie, acceda al menú de grub y seleccione el elemento de menú o submenú que necesite. La elección se guardará cada vez y luego su computadora se iniciará automáticamente. Cuando elige manualmente una entrada diferente, se convierte en la nueva entrada predeterminada.

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

No quería alterar la estructura de mi menú de nivel superior para seleccionar un kernel 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 del menú del kernel 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 el submenú $menuentry_id_option desde el paso uno, y el kernel seleccionado $menuentry_id_option 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) Actualice 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

Cambiar esto de nuevo 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 volviendo a correr update-grub.

Como se menciona en los comentarios, puede configurar el kernel predeterminado para arrancar usando el grub-set-default X comando, donde X es el número del kernel en el que desea iniciar. En algunas distribuciones también puede establecer este número editando el /etc/default/grub archivo y configuración GRUB_DEFAULT=X, y luego corriendo update-grub.

El número es el índice de un array de kernels / configuraciones de kernel que se muestran en el menú de GRUB durante el arranque, siendo 0 la primera entrada (la más alta). Por lo general, puede encontrar el número correcto buscando menuentry líneas en /boot/grub/grub.cfg, al igual que:

grep menuentry /boot/grub/grub.cfg

Verá cada kernel listado con el nombre que se muestra en el menú de arranque de GRUB. El primero es 0, el segundo es 1 y así sucesivamente.

Aquí puedes ver las comentarios y valoraciones de los usuarios

Tienes la posibilidad compartir este enunciado si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *