En varias máquinas Ubuntu, constantemente enfrento el problema de una partición de arranque completa, aunque siempre elimino todos los núcleos antiguos. El problema parece ocurrir, ya que muchos initrd
archivos están en la partición de arranque a pesar de que los núcleos relacionados no están realmente instalados. Para dar, por ejemplo:
root@Jacobi:/boot# ls -lah
insgesamt 202M
drwxr-xr-x 3 root root 3,0K Jan 30 10:03 .
drwxr-xr-x 25 root root 4,0K Jan 30 10:03 ..
-rw-r--r-- 1 root root 1,2M Dez 11 15:36 abi-4.4.0-104-generic
-rw-r--r-- 1 root root 1,2M Jan 9 22:28 abi-4.4.0-109-generic
-rw-r--r-- 1 root root 1,2M Jan 19 14:06 abi-4.4.0-112-generic
-rw-r--r-- 1 root root 187K Dez 11 15:36 config-4.4.0-104-generic
-rw-r--r-- 1 root root 187K Jan 9 22:28 config-4.4.0-109-generic
-rw-r--r-- 1 root root 187K Jan 19 14:06 config-4.4.0-112-generic
drwxr-xr-x 5 root root 1,0K Jan 30 10:03 grub
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-3.13.0-39-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-101-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-103-generic
-rw-r--r-- 1 root root 38M Jan 30 10:02 initrd.img-4.4.0-104-generic
-rw-r--r-- 1 root root 38M Jan 30 10:02 initrd.img-4.4.0-109-generic
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-4.4.0-38-generic
-rw-r--r-- 1 root root 10M Jan 30 10:03 initrd.img-4.4.0-45-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-59-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-77-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-78-generic
-rw-r--r-- 1 root root 10M Jan 30 10:02 initrd.img-4.4.0-81-generic
-rw-r--r-- 1 root root 179K Jan 28 2016 memtest86+.bin
-rw-r--r-- 1 root root 181K Jan 28 2016 memtest86+.elf
-rw-r--r-- 1 root root 181K Jan 28 2016 memtest86+_multiboot.bin
-rw------- 1 root root 3,8M Dez 11 15:36 System.map-4.4.0-104-generic
-rw------- 1 root root 3,8M Jan 9 22:28 System.map-4.4.0-109-generic
-rw------- 1 root root 3,8M Jan 19 14:06 System.map-4.4.0-112-generic
-rw------- 1 root root 6,8M Dez 11 15:36 vmlinuz-4.4.0-104-generic
-rw------- 1 root root 6,8M Jan 9 22:28 vmlinuz-4.4.0-109-generic
-rw------- 1 root root 6,8M Jan 19 14:06 vmlinuz-4.4.0-112-generic
Pero solo linux-image-4.4.0-104-generic y linux-image-4.4.0-109-generic están instalados:
root@Jacobi:/boot# dpkg -l linux-image-\* | grep ^ii
ii linux-image-4.4.0-104-generic 4.4.0-104.127 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-4.4.0-109-generic 4.4.0-109.132 amd64 Linux kernel image for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-104-generic 4.4.0-104.127 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
ii linux-image-extra-4.4.0-109-generic 4.4.0-109.132 amd64 Linux kernel extra modules for version 4.4.0 on 64 bit x86 SMP
Si elimino los archivos initrd innecesarios manualmente, se generarán nuevamente tan pronto como intente hacer una actualización.
¿Cuál podría ser la causa de este problema y cómo puedo deshacerme de esos archivos de forma permanente?
boot
grub2
partitioning
kernel
usuario5950
fuente
fuente
apt-get autoremove
.Respuestas:
Debe verificar los núcleos parcialmente eliminados con
y eliminarlos con por ejemplo
sudo apt-get purge linux-image-4.4.0-101-generic
.La purga eliminará las reglas de generación de initramfs
/var/lib/initramfs-tools/
.Si no ayuda, puede eliminarlos manualmente de la lista initramfs:
Por lo general, ejecuto
purge-old-kernels
seguido desudo apt-get autoremove
tener solo 2 núcleos recientes.Puede reinstalar los núcleos instalados con sus initramfses:
fuente
initrd
archivos innecesarios desde el arranque manualmente una vez más para liberar algo de espacio allí, y ¡voilà problema resuelto! ¡Gracias!rm
para cualquier cosa relacionada coninitrd
núcleos o encabezados. Hay algunos comandos disponibles que manejarán la eliminación de los archivos kernels / headers / initrd.img eliminados parcialmente por usted. Verupdate-initramfs
. Vea mi respuesta a continuación para más detalles.Si ya ha utilizado
dpkg
para purgar los kernels / cabeceras y si ya ha comprobadodpkg -l
y todavía no ven los granos / cabeceras instaladas allí, pero que todavía ven referencias a estos antiguos núcleos en/boot
la forma deinitrd-img
archivos, entonces la forma apropiada para purgar estas referencias y archivos es con elupdate-initramfs
comandoPor ejemplo, si solo ha
4.4.0-109
instalado, pero aún ve lo siguiente en/boot
:Puede eliminar de forma segura
4.4.0-104
y4.4.0-103
desde/boot
con los siguientes comandos:Los primeros dos comandos eliminan las referencias a esos núcleos en
initramfs
las reglas de generación, así como los archivos en/boot
. El último comando le dice a initramfs que regenere losinitrd.img
archivos según las reglas actualizadas.Teóricamente también podrías usar
eliminar múltiples núcleos a la vez, pero por alguna razón esto no funcionó para mí.
fuente