¿Cómo puedo arrancar con una versión anterior del kernel?

56

El último kernel está causando problemas con mi sonido, que funcionó bien con una versión anterior. Como solo tengo Ubuntu instalado, Grub no se muestra durante el arranque. ¿Cómo puedo elegir manualmente la versión de mi kernel durante el arranque?

Shahe Tajiryan
fuente

Respuestas:

59

La forma más sencilla de mostrar su Grub es presionar y mantener presionado el SHIFTbotón durante el arranque.

Como alternativa, siempre puede mostrar Grub sin que arranque ningún núcleo en particular:

gksudo gedit /etc/default/grub

cambia GRUB_TIMEOUTa -1 y comentaGRUB_HIDDEN_TIMEOUT

terminar corriendo

sudo update-grub
fossfreedom
fuente
55
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported. Comenté GRUB_HIDDEN_TIMEOUTy conjuntoGRUB_TIMEOUT=0
acidghost
Para ser explícito: ¿GRUB_HIDDEN_TIMEOUT es una variable de entorno que debe configurarse cuando se ejecuta 'update-grub'?
Jonathan Hartley
1
@JonathanHartley GRUB_HIDDEN_TIMEOUTse define en/etc/default/grub
wjandrea
20

Si mantiene presionada la tecla Mayús mientras arranca, se mostrará el menú Grub. Ahora puede seleccionar una versión anterior del kernel.

Para seleccionar un núcleo antiguo como el núcleo predeterminado, consulte esta publicación

martín
fuente
2
En mi caso (Ubuntu 16.04), se dejó el turno. El cambio a la derecha no funcionó.
Bob
1
¿Qué pasa si los núcleos más antiguos no se muestran en grub (se eliminaron)? ¿Esto significa que estos núcleos no son accesibles?
Kalamalka Kid
1
Tuve que usar escape (en lugar de turno)
Jonathan King
6

Mientras arranca cuando GRUB aparece con entradas, seleccione la segunda entrada, es decir, Opciones avanzadas para Ubuntu allí puede ver diferentes versiones antiguas del kernel que se instaló anteriormente, puede seleccionar una de ellas que funcione bien para usted. De lo contrario, vaya a grub.cfg y pegue la versión de kernel requerida encima de la entrada de kernel instalada actualmente. En ambos sentidos funciona

Suresh
fuente
4

Si tiene algunos Kernels en su sistema, puede configurar manualmente qué versión de Kernel comenzará:

  1. Reinicie su PC con el botón Shift presionado para mostrar GRUB después de que se inicie el BIOS. Verá algo como: Página de inicio de GRUB

  2. Seleccione "Opciones avanzadas para Ubuntu" y memorice el índice de esta línea de menú (el recuento comienza desde 0) En el índice de la imagen es 1

Seleccione el núcleo de hormigón

  1. Seleccione el kernel concreto para el arranque y también memorice el índice de esta línea de menú (el recuento comienza desde 0) En el índice de la imagen del kernel elegido es 2

  2. Iniciar sistema Esta acción es para un arranque en el núcleo de hormigón. Si desea comenzar desde Kernel concreto todo el tiempo, debe seguir los siguientes pasos:

4.1. Abra y edite el archivo de configuración de GRUB:

sudo nano /etc/default/grub

4.2. Busque la línea GRUB_DEFAULT = ... (por defecto GRUB_DEFAULT = 0) y establezca en la ruta del menú de comillas al Kernel concreto (Recuerde los índices del menú de los pasos 2 y 3). En mi sistema, el primer índice era 1 y el segundo era 2. Configuré GRUB_DEFAULT

GRUB_DEFAULT="1>2"

Guardar el archivo.

4.3. Actualice la información de GRUB para aplicar los cambios:

sudo update-grub

4.4. Después de reiniciar, inicia automáticamente en Kernel por la ruta de menú elegida. Un ejemplo en mi máquina 1 -> 2

4.5. Verifique la versión del kernel después de reiniciar:

uname -r

Jackkobec
fuente
3

Por el https://help.ubuntu.com/community/Grub2 :

GRUB_HIDDEN_TIMEOUT = 0

Esta configuración determina cuánto tiempo se mostrará una pantalla sin el menú GRUB 2. Mientras la pantalla está en blanco, el usuario puede presionar cualquier tecla para mostrar el menú.

El comportamiento predeterminado es ocultar el menú si solo hay un sistema operativo presente. Si un usuario con solo Ubuntu desea mostrar el menú, coloque un símbolo # al comienzo de esta línea para desactivar la función de menú oculto.

Kernel de degradación : cómo degradar el kernel en 11.10

Actualizar kernel: ¿Cómo puedo actualizar kernel a 3.1?

usuario26687
fuente
2

Instale el núcleo anterior con el siguiente comando:

sudo apt-get install linux-image-3.0.0-12-generic linux-headers-3.0.0-12-generic

Luego reiniciar. Se le pedirá que elija su núcleo.

Paulo Arruda
fuente
2
  1. Inmediatamente después de la pantalla de inicio BIOS / UEFI durante el arranque, con BIOS, presione y mantenga presionada la Shifttecla rápidamente , lo que abrirá el menú GNU GRUB. (Si ve el logotipo de Ubuntu, se ha perdido el punto en el que puede ingresar al menú de GRUB). Con UEFI presione (quizás varias veces) la Esctecla para acceder al menú de GRUB. A veces, la pantalla de inicio del fabricante es parte del gestor de arranque de Windows, por lo que cuando enciende la máquina va directamente a la pantalla de GRUB, y luego no Shiftes necesario presionar .

  2. Desde la pantalla GRUB, seleccione Opciones avanzadas para Ubuntu y presione Enter.

    ingrese la descripción de la imagen aquí

  3. Aparecerá una nueva pantalla púrpura que muestra una lista de núcleos. Use las teclas ↑ y ↓ para seleccionar qué entrada se resalta. Presione Entrar para iniciar el núcleo seleccionado, 'e' para editar comandos antes de iniciar o 'c' para una línea de comando. Presione Esc para regresar al menú anterior.

    ingrese la descripción de la imagen aquí

karel
fuente
1
Aunque es lo mismo que esta respuesta mucho más corta: askubuntu.com/a/584738/307523 Su respuesta va mucho más allá con capturas de pantalla y Shiftclave para que aparezca grub en primer lugar.
WinEunuuchs2Unix
1

La respuesta de Jackkobec describe un método de visualización grub.cfgy desplazamiento a través del código fuente para encontrar un número de menú. Una forma más fácil es con este script :

Grub Version: 2.02~beta2-36ubuntu3.22


         ┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
         │ Menu No.     ----------- Menu Name -----------                               │ 
         │                                                                              │ 
         │  1>3  Ubuntu, with Linux 4.15.0-55-generic                                  ↑│ 
         │  1>6  Ubuntu, with Linux 4.15.0-54-generic                                  ▒│ 
         │  1>9  Ubuntu, with Linux 4.14.134-0414134-generic                           ▒│ 
         │  1>12 Ubuntu, with Linux 4.14.120-0414120-generic                           ▮│ 
         │  1>15 Ubuntu, with Linux 4.14.114-0414114-generic                           ▒│ 
         │  1>18 Ubuntu, with Linux 4.14.110-0414110-generic                           ▒│ 
         │  1>21 Ubuntu, with Linux 4.14.98-041498-generic                             ▒│ 
         │  1>24 Ubuntu, with Linux 4.14.89-041489-generic                             ▒│ 
         │  1>27 Ubuntu, with Linux 4.14.78-041478-generic                             ▒│ 
         │  1>30 Ubuntu, with Linux 4.14.70-041470-generic                             ▒│ 
         │  1>33 Ubuntu, with Linux 4.4.0-157-generic                                  ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  1>36 Ubuntu, with Linux 3.16.60-031660-generic                             ▒│ 
         │  2    Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)                       ▒│ 
         │  3    Advanced options for Ubuntu 18.04.1 LTS (18.04) (on /dev/nvme0n1p10)  ▒│ 
         │  3>0  Ubuntu (on /dev/nvme0n1p10)                                           ↓│ 
         │                                                                              │ 
         │                                                                              │ 
         │                     [Display Grub Boot]            Exit                      │ 
         │                                                                              │ 
         └──────────────────────────────────────────────────────────────────────────────┘ 



Nota: En este ejemplo grub-menu.sh shortse usó para llamar al script. El shortparámetro suprime estas líneas:

     │  1>10 Ubuntu, with Linux 4.14.134-0414134-generic (upstart)                 ▒│ 
     │  1>11 Ubuntu, with Linux 4.14.134-0414134-generic (recovery mode)           ▒│ 

Teclas de control

Después de desplazarse por las entradas (puede usar la rueda de desplazamiento del mouse o las teclas de flecha) presione Escapepara regresar a la línea de comando.

Si presiona Enterlos comandos grub asociados para la entrada, se muestran:

menuentry 'Ubuntu, with Linux 4.14.134-0414134-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.14.134-0414134-generic-advanced-b40b3925-70ef-447f-923e-1b05467c00e7' {
recordfail
savedefault
load_video
gfxmode $linux_gfx_mode
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
else
search --no-floppy --fs-uuid --set=root b40b3925-70ef-447f-923e-1b05467c00e7
fi
echo 'Loading Linux 4.14.134-0414134-generic ...'
linux /boot/vmlinuz-4.14.134-0414134-generic root=UUID=b40b3925-70ef-447f-923e-1b05467c00e7 ro noplymouth fastboot acpiphp.disable=1 pcie_aspm=force vt.handoff=7 i915.fastboot=1 nopti nospectre_v2 nospec mem_sleep_default=deep
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-4.14.134-0414134-generic
}
Press <Enter> to continue

Actualización de grub para arrancar el kernel anterior

Existe un conjunto de comandos grub para cada entrada de menú. Las entradas compiladas se almacenan en un /boot/grub/grub.cfgarchivo.

En este ejemplo, queremos establecer el número de menú `1> 9> como predeterminado, por lo que usamos:

sudo -H gedit /etc/default/grub

y encuentra esta línea:

GRUB_DEFAULT=0

y cámbialo a esto:

GRUB_DEFAULT="1>9"

Luego guarda el archivo y ejecuta

sudo update-grub
WinEunuuchs2Unix
fuente