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.