Eliminando entradas antiguas del kernel en Grub [duplicado]

21

Elimino regularmente kernels viejos dejando solo las últimas dos entradas usando Synaptic.

Estoy usando Precise. Sin embargo, en mi menú Grub "versión anterior de Linux" hay bastantes entradas con la etiqueta 2.6.8. No puedo encontrar estas imágenes de Linux en Synaptic.

dpkg -l | grep linux-image

Da:

rc  linux-image-3.0.0-17-generic           3.0.0-17.30                         
    Linux kernel image for version 3.0.0 on x86/x86_64
ii  linux-image-3.2.0-27-generic           3.2.0-27.43
Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.2.0-29-generic           3.2.0-29.46
Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.4.0-030400-generic       3.4.0-030400.201205210521
Linux kernel image for version 3.4.0 on 32 bit x86 SMP
ii  linux-image-generic                    3.2.0.29.31
Generic Linux kernel image

Sudo update-grub da:

Generating grub.cfg ...
Found linux image: /boot/vmlinuz-3.4.0-030400-generic
Found initrd image: /boot/initrd.img-3.4.0-030400-generic
Found linux image: /boot/vmlinuz-3.2.0-29-generic
Found initrd image: /boot/initrd.img-3.2.0-29-generic
Found linux image: /boot/vmlinuz-3.2.0-27-generic
Found initrd image: /boot/initrd.img-3.2.0-27-generic
Found linux image: /boot/vmlinuz-2.6.38-11-generic
Found initrd image: /boot/initrd.img-2.6.38-11-generic
Found linux image: /boot/vmlinuz-2.6.38-10-generic
Found initrd image: /boot/initrd.img-2.6.38-10-generic
Found linux image: /boot/vmlinuz-2.6.38-8-generic
Found initrd image: /boot/initrd.img-2.6.38-8-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Vista (loader) on /dev/sda1

sudo apt-get eliminar linux-image-2.6.8-8-generic gives:

E: Unable to locate package linux-image-2.6.8-8-generic
E: Couldn't find any package by regex 'linux-image-2.6.8-8-generic'

Mi carpeta de inicio contiene lo siguiente:

abi-2.6.38-10-generic         initrd.img-3.4.0-030400-generic
abi-2.6.38-11-generic         memtest86+.bin
abi-2.6.38-8-generic          memtest86+_multiboot.bin
abi-3.2.0-27-generic          System.map-2.6.38-10-generic
abi-3.2.0-29-generic          System.map-2.6.38-11-generic
abi-3.4.0-030400-generic      System.map-2.6.38-8-generic
config-2.6.38-10-generic      System.map-3.2.0-27-generic
config-2.6.38-11-generic      System.map-3.2.0-29-generic
config-2.6.38-8-generic       System.map-3.4.0-030400-generic
config-3.2.0-27-generic       vmcoreinfo-2.6.38-10-generic
config-3.2.0-29-generic       vmcoreinfo-2.6.38-11-generic
config-3.4.0-030400-generic   vmcoreinfo-2.6.38-8-generic
extlinux                      vmlinuz-2.6.38-10-generic
grub                          vmlinuz-2.6.38-11-generic
initrd.img-2.6.38-10-generic  vmlinuz-2.6.38-8-generic
initrd.img-2.6.38-11-generic  vmlinuz-3.2.0-27-generic
initrd.img-2.6.38-8-generic   vmlinuz-3.2.0-29-generic
initrd.img-3.2.0-27-generic   vmlinuz-3.4.0-030400-generic
initrd.img-3.2.0-29-generic

y

ls -l /etc/grub.d
yields:
total 56
-rwxr-xr-x 1 root root 6715 Apr 17 20:16 00_header
-rwxr-xr-x 1 root root 5522 Oct  1  2011 05_debian_theme
-rwxr-xr-x 1 root root 7407 May 17 09:22 10_linux
-rwxr-xr-x 1 root root 6335 Apr 17 20:16 20_linux_xen
-rwxr-xr-x 1 root root 1588 May  3  2011 20_memtest86+
-rwxr-xr-x 1 root root 7603 Apr 17 20:16 30_os-prober
-rwxr-xr-x 1 root root  214 Oct  1  2011 40_custom
-rwxr-xr-x 1 root root   95 Oct  1  2011 41_custom
-rw-r--r-- 1 root root  483 Oct  1  2011 README
gdisk -l /dev/sda

rendimientos:

Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present


***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
***************************************************************

Disk /dev/sda: 312581808 sectors, 149.1 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F832A498-05E1-4615-B5B1-757ACB4A757A
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 312581774
Partitions will be aligned on 2048-sector boundaries
Total free space is 4183661 sectors (2.0 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048        61442047   29.3 GiB    0700  Microsoft basic data
   3       163842048       169986047   2.9 GiB     8200  Linux swap
   4       169986048       312578047   68.0 GiB    0700  Microsoft basic data
   5        61444096       159666175   46.8 GiB    8300  Linux filesystem

Ayuda a eliminar los núcleos viejos e inexistentes de Grub.

    
pregunta To Do 15.08.2012 - 22:54

7 respuestas

10

Encontré cuál era el problema.

El problema fue que, cuando actualicé Ubuntu, al instalar a través de liveUSB en lugar de hacer una actualización normal, dejó atrás los viejos archivos kernel en la carpeta / boot.

Ahora que me he actualizado de la misma manera de 12.10 a 13.04, me encontré con la misma situación.

La solución es eliminar manualmente todos los archivos relacionados con los kernels antiguos en la carpeta / boot y ejecutar sudo update-grub . Las entradas adicionales desaparecieron.

    
respondido por el To Do 18.05.2013 - 12:56
40
  • Abre una terminal ( Ctrl + Alt + T ).

  • Escriba uname -r . Esto le mostrará el kernel que está utilizando actualmente, por lo que no desea eliminar esto.

  • Ejecute el siguiente comando: dpkg --list | grep linux-image . Esto mostrará todos los núcleos que están instalados.

  • Anote los nombres de todos los núcleos que quiera eliminar.

  • Para eliminar los núcleos, ejecute: sudo apt-get purge linux-image-x.x.x.x-xyz ( reemplace el nombre del kernel por uno apropiado ).

  • Actualiza GRUB: sudo update-grub2

Y listo.

Bonificación: aquí hay una pequeña línea para hacer todo eso automáticamente:

sudo apt-get purge $( dpkg --list | grep -P -o "linux-image-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") )
    
respondido por el green 04.10.2012 - 16:17
5

Pruebe este comando. Es una versión refinada del mismo comando apt-get remove

sudo apt-get autoremove linux-image-3.2.0-23-generic-pae

Al reemplazar eliminar con autoremove , el proceso de eliminación encuentra y elimina automáticamente otras dependencias, por lo que obtendrá una desinstalación limpia, en lugar de tener que ir aquí. y allí y eliminar las sobras.

Repite el proceso para otros granos viejos también.

Después de eso, ejecuta

sudo update-grub

Después de eso, verá solo el último kernel.

    
respondido por el Omal Lasitha 04.10.2012 - 16:01
3

Suelo iniciar Synaptic (que debe instalarse por separado en estos días), buscar "linux" en la categoría Installed y marcar todas las versiones anteriores del kernel y linux-headers (es decir, todas excepto la actual) para ser remoto. Cuando se desinstalan, se eliminan del menú de GRUB.

Debe haber un comando ingenioso de una línea para hacer eso, pero se siente más seguro solo hacerlo manualmente

    
respondido por el Sergey 15.08.2012 - 23:08
3

La solución más hábil sería usar ubuntu-tweak . Después de la instalación, enciéndalo, vaya a Janitor , elija Old Kernel , seleccione los núcleos antiguos que desea eliminar y Clean . ¡Eso es! (Tenga en cuenta que solo los núcleos antiguos aparecen en el conserje)

    
respondido por el SeMeKh 16.08.2012 - 17:40
3

Te sugiero que ingreses esto en una sesión de terminal ( Alt - Ctrl - T ):

sudo update-grub

Este comando hace que grub use os-prober y actualice el menú.

Si tiene particiones con versiones anteriores de Ubuntu que hayan usado grub (parece que el OP tiene una partición de lanzamiento natty en alguna parte, tal vez más) también es necesario limpiarlas antes de ejecutar update-grub en el sistema actual. os-prober encuentra Windows y otras particiones de Linux. Para otras particiones de Linux, copia los elementos de sus menús grub, en su caso, en lugar de mirar sus archivos kernel.

Si tiene una configuración realmente desordenada, la mejor solución puede ser iniciar su sistema Ubuntu y reinstalar grub con:

sudo apt-get --reinstall install grub2

Al volver a instalar grub recreará el /etc/default/grub y el archivo /boot/grub/menu.cfg , en función de los kernels instalados en esa partición y en los kernels instalados en las configuraciones grub de otras particiones de Ubuntu (probablemente más antiguas) (no parece ser cualquiera para el OP).

    
respondido por el John S Gruber 16.08.2012 - 01:09
1

Para Ubuntu 12.04 LTS (Preciso) de 64 bits (en 32 bits no PAE)

Compruebe qué versiones están presentes:

sudo update-grub

Elimine primero el más antiguo y no lo haga elimine la versión actual / más reciente:

sudo apt-get remove linux-image-3.2.0-23-generic
sudo apt-get remove linux-image-3.2.0-24-generic
sudo apt-get remove linux-image-3.2.0-25-generic

Vuelva a verificar qué versión están ahora presentes. (Opcional)

Nota: Este paso es obligatorio , si elimina todas las versiones menos las últimas (o deje solo una).

sudo update-grub

para Ubuntu 12.04 LTS (Precise) de 32 bits (PAE)

Compruebe qué versiones están presentes:

sudo update-grub

Elimine primero el más antiguo y no lo haga elimine la versión actual / más reciente:

sudo apt-get remove linux-image-3.2.0-23-generic-pae
sudo apt-get remove linux-image-3.2.0-24-generic-pae
sudo apt-get remove linux-image-3.2.0-25-generic-pae

Vuelva a verificar qué versión están ahora presentes. (Opcional)

Nota: Este paso es obligatorio , si elimina todas las versiones menos las últimas (o deje solo una).

sudo update-grub
    
respondido por el david6 16.08.2012 - 08:32

Lea otras preguntas en las etiquetas