¿Cómo puedo elegir qué kernel GRUB2 debería cargar por defecto? Recientemente instalé un kernel de Linux en tiempo real y ahora se carga por defecto. Me gustaría cargar el normal por defecto.
Hasta ahora solo pude elegir el sistema operativo predeterminado ... y, por alguna razón, /boot/grub.cfg
ya supongo que quiero cargar el kernel rt y ponerlo en la entrada genérica del menú de Linux (en mi caso, Arch Linux).
grub.cfg
solo corresponden a los sistemas operativos y no a los núcleos.Respuestas:
Creo que la mayoría de las distribuciones han movido núcleos adicionales al submenú de opciones avanzadas en este momento, como TomTom descubrió que era el caso con su Arch.
No quería alterar mi estructura de 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 la
$menuentry_id
opción para el submenú:2) Busque la
$menuentry_id_option
entrada del menú para el núcleo que desea usar:3) Comente su grub predeterminado actual
/etc/default/grub
y reemplácelo con el submenú$menuentry_id_option
del paso uno, y los núcleos seleccionados$menuentry_id_option
del paso dos separados por>
.En mi caso el modificado
GRUB_DEFAULT
es:4) Actualice grub para hacer los cambios. Para Debian esto se hace así:
Hecho. Ahora, cuando inicia, el menú avanzado debe tener un asterisco y debe iniciar en el núcleo seleccionado. Puedes confirmar esto con uname.
Cambiar esto al kernel más reciente es tan simple como comentar la nueva línea y descomentar
#GRUB_DEFAULT=0
, luego volver a ejecutarupdate-grub
.fuente
Después de luchar durante 2 horas, he encontrado una manera mucho más fácil de lograr esto. Acabo de RTFM. ;)
Agregue dos líneas a / etc / default / grub
Realice el
sudo update-grub
reinicio, acceda a su menú de grub y seleccione el menú o elemento de submenú que necesite. La opción se guardará y la próxima vez su computadora se iniciará automáticamente.fuente
Como se menciona en los comentarios, puede configurar el núcleo predeterminado para que se inicie utilizando el
grub-set-default X
comando, donde X es el número del núcleo en el que desea iniciar. En algunas distribuciones también puede establecer este número editando el/etc/default/grub
archivo y la configuraciónGRUB_DEFAULT=X
, y luego ejecutándoloupdate-grub
.El número es el índice de una matriz de núcleos / configuraciones de núcleo 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
, así:Verá cada núcleo en la lista con el nombre que se muestra en el menú de arranque de GRUB. El primero es 0, el segundo es 1, y así sucesivamente.
fuente
/boot/grub2/grub.cfg
.grub-set-default 9
y luegogrub-update
y reinicié. Dejé que grub se inicie con el kernel predeterminado y todavía se inicia con 4.4.0-64-generic . También intenté editar,/etc/default/grub
configurarGRUB_DEFAULT=9
y ejecutargrub-update
. Al reiniciar nada cambia, el sistema aún se inicia con 4.4.0-64-generic . Tal vez me perdí algo, ¿alguien puede ayudarme?Simplemente haciendo
grep 'menuentry' /boot/grub/grub.cfg
enumera entradas adicionales que no están relacionadas con el núcleo real o las versiones del sistema operativo. Por ejemplo, enumeraMe gustaría proponer una pequeña mejora en el método de búsqueda de ese archivo: usar
awk
Con el comando a continuación y su salida, puede ver que el
awk
código coincide con la versión real del sistema operativo y darle el número que luego puede usar en el/etc/default/grub
archivo.Además de editar el
/etc/default/grub
archivo a mano, sugiero usarsed
. En el siguiente comando, reemplace X con el número apropiado que obtuvo del comando awk anterior:sudo sed -i 's/GRUB_DEFAULT=0/GRUB_DEFAULT=X/g' /etc/default/grub; sudo update-grub
fuente
Los jkt123 funcionarán para la mayoría de las distribuciones, supongo. Sin embargo, para Arch Linux no funcionó, al menos no con los paquetes que tengo disponibles.
Los índices que puede establecer
grub-set-default
solo corresponden a las entradas del menú principal. Sin embargo, las opciones del kernel están en un submenú. Entonces, mueve la entrada del núcleo fuera del submenú al menú principal o coloca la entrada en la parte superior de la lista de submenú y selecciona el submenú.My Grub Menu
Para poder iniciar Kernel 2, debe intercambiarlo con Kernel 1 o colocarlo fuera del submenú en el mismo nivel que Arch Linux o Windows. Y luego establezca el número predeterminado en uno de los índices del menú principal. Por ejemplo, en el menú anterior, "0" inicia "Arch Linux" y "1" inicia Kernel 1.
Para cambiar la jerarquía y el intercambio, abra
/boot/grub/grub.cfg
y mueva la entrada que desea mover. Una entrada podría verse asíEntonces necesitas aplicar tus cambios. En mi caso con
grub-mkconfig
. Pero esto puede variar de un sistema a otro.fuente
Tan recientemente como CentOS-6.6 grub.conf parecía que esto se podía editar manualmente para cambiar la selección predeterminada:
fuente
Estiramiento de Debian:
En lugar de perder el tiempo con los archivos de configuración, cree una carpeta
/noot
(llámela como desee), deje el núcleo que desee, junto con los archivos de configuración y sistema correspondientes,/boot
y mueva el resto a esta nueva carpeta.Ejecutar
update-grub
.Verifique dos veces la
/boot
carpeta en la que la versión de su núcleo y los archivos de configuración y sistema coincidentes todavía están allí (en caso de que haya copiado algo que no debería tener) y reinicie.fuente