3 votos

¿Por qué no Puede GrUB Encontrar un Kernel Que Ya se Encuentra?

Después de actualizar a 15.04, necesito tener las cabeceras del núcleo coincidente con el kernel en ejecución (por otro paquete).

La actualización del kernel instalado 3.19.0-17. Sólo en caso de que, también le instalé linux-headers-generic. Entonces, me encontré sudo update-grub y se reinicia. Sin embargo, el sistema inicia en el núcleo 3.16.0-31 (según lo confirmado por uname -r).

Después de escarbar mucho, he encontrado que el GrUB reconoce el 3.19 kernel en update-grub e incluso se rellena en /boot/grub/menu.lst. Sin embargo, en el arranque, GrUB sólo reconoce hasta el kernel 3.16 en el menú de arranque. ¿Cómo puedo solucionar este problema, por lo que el GrUB puede arrancar 3.19?


Aquí están algunas de las salidas de mi sistema actual.

sudo update-grub siempre produce la siguiente salida:

$ sudo update-grub
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-3.19.0-17-generic
Found kernel: /boot/vmlinuz-3.16.0-31-generic
Found kernel: /boot/vmlinuz-3.13.0-40-generic
Found kernel: /boot/vmlinuz-3.11.0-19-generic
Found kernel: /boot/vmlinuz-3.8.0-35-generic
Found kernel: /boot/memtest86+.bin
Found kernel: /boot/vmlinuz-3.19.0-17-generic
Found kernel: /boot/vmlinuz-3.16.0-31-generic
Found kernel: /boot/vmlinuz-3.13.0-40-generic
Found kernel: /boot/vmlinuz-3.11.0-19-generic
Found kernel: /boot/vmlinuz-3.8.0-35-generic
Found kernel: /boot/memtest86+.bin
Updating /boot/grub/menu.lst ... done

La apertura de /boot/grub/menu.lst después de ejecutar update-grub, la primera opción es:

title        Ubuntu 15.04, kernel 3.19.0-17-generic
uuid        ac9d0eaf-e090-4c29-8e7b-30e98ed07d29
kernel        /boot/vmlinuz-3.19.0-17-generic root=UUID=ac9d0eaf-e090-4c29-8e7b-30e98ed07d29 ro quiet splash
initrd        /boot/initrd.img-3.19.0-17-generic

Pero, la celebración de Turno durante el arranque, no hay ninguna opción para elegir 3.19 (a pesar de que puede elegir cualquiera de los otros). Después del inicio, uname -r confirma que se inicia en el 3.16:

$ uname -r
3.16.0-31-generic

Salida recortada de una dpkg -l, mostrando que el 3.19 kernel instalado:

ii  linux-headers-3.19.0-17                              3.19.0-17.17                               all          Header files related to Linux kernel version 3.19.0
ii  linux-headers-3.19.0-17-generic                      3.19.0-17.17                               amd64        Linux kernel headers for version 3.19.0 on 64 bit x86 SMP
ii  linux-headers-generic                                3.19.0.17.16                               amd64        Generic Linux kernel headers

También he tratado de purga/reinstalar grub y los encabezados, y algunas otras cosas que ascendió a ninguna consecuencia.

4voto

saiarcot895 Puntos 7362

La versión anterior de GRUB (0.9.7) probablemente utilizadas menu.lst , para determinar qué pantalla, mientras que la más reciente versión de GRUB GRUB (2) usos grub.cfg lugar. Parece que usted tiene una combinación de GRUB y GRUB 2 instalado.

El uso de update-grub de la grub paquete de actualización de la menu.lst archivo, que efectivamente va a hacer nada si el gestor de arranque GRUB 2, que es lo que está sucediendo aquí. En su lugar, usted debe instalar grub2-common (que debería desinstalar la grub paquete). Entonces, cuando se ejecuta update-grub (o update-grub2; ambos hacen la misma cosa), el grub.cfg archivo se actualiza en su lugar.

Respuesta basada en esta respuesta.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: