На нескольких машинах с Ubuntu я постоянно сталкиваюсь с проблемой полного загрузочного раздела, хотя я всегда удаляю все старые ядра. Кажется, проблема возникает, так как многие initrd
файлы находятся в загрузочном разделе, хотя соответствующие ядра на самом деле не установлены. Привести в пример:
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
Но устанавливаются только linux-image-4.4.0-104-generic и linux-image-4.4.0-109-generic:
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
Если я удаляю ненужные файлы initrd вручную, они будут сгенерированы снова, как только я попытаюсь выполнить обновление.
Что может быть причиной этой проблемы и как я могу навсегда избавиться от этих файлов?
boot
grub2
partitioning
kernel
user5950
источник
источник
apt-get autoremove
.Ответы:
Вы должны проверить частично удаленные ядра с
и удалите их, например
sudo apt-get purge linux-image-4.4.0-101-generic
.Очистка удалит правила генерации initramfs из
/var/lib/initramfs-tools/
.Если это не помогает, вы можете удалить их вручную из списка initramfs:
Обычно я запускаю
purge-old-kernels
,sudo apt-get autoremove
чтобы иметь только 2 последних ядра.Вы можете переустановить установленные ядра с помощью их initramfses:
источник
initrd
еще раз вручную удалить ненужные файлы из boot, чтобы освободить место, и проблема решена! Благодарность!rm
с любымиinitrd
ядрами или заголовками. Доступны некоторые команды, которые будут обрабатывать удаление частично удаленных файлов kernels / headers / initrd.img. Смupdate-initramfs
. Смотрите мой ответ ниже для более подробной информации.Если вы уже использовали
dpkg
для очистки ядра / заголовки и если вы уже проверилиdpkg -l
и все еще не видите установленные там ядра / заголовки, но вы по- прежнему видите ссылки на эти старые ядра в/boot
видеinitrd-img
файлов, то правильный путь очистить эти ссылки и файлы с помощьюupdate-initramfs
команды.Например, если вы только
4.4.0-109
установили, но вы по-прежнему видите следующее в/boot
:Вы можете безопасно удалить
4.4.0-104
и4.4.0-103
из/boot
следующих команд:Первые две команды удаляют ссылки на эти ядра в
initramfs
правилах генерации, а также файлы в/boot
. Последняя команда сообщает initramfs о необходимости регенерироватьinitrd.img
файлы на основе обновленных правил.Теоретически вы также можете использовать
удалить несколько ядер одновременно, но по некоторым причинам это не сработало для меня.
источник