На этот вопрос уже есть ответ здесь:
Я регулярно удаляю старые ядра, оставляя только последние два записи с использованием Synaptic.
Я использую Precise. Однако в моем меню Grub «предыдущая версия Linux» довольно много записей с пометкой 2.6.8. Я не могу найти эти образы linux в Synaptic.
dpkg -l | grep linux-image
Дает:
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 дает:
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 remove linux-image-2.6.8-8-generic дает:
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'
Моя загрузочная папка содержит следующее:
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
и
ls -l /etc/grub.dдает:
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
дает:
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
Пожалуйста, помогите с удалением старых и несуществующих ядер из Grub.
Я нашел, какова эта проблема была.
проблема была то, что, когда я обновил Ubuntu путем установки через liveUSB вместо того, чтобы делать нормальное обновление, она оставила позади старые файлы ядра в папке начальной загрузки/.
Теперь, когда я обновил таким же образом от 12,10 до 13,04, я встретился с той же ситуацией.
решение состоит в том, чтобы вручную удалить все файлы, связанные со старыми ядрами в папке начальной загрузки / и работать sudo update-grub
. Дополнительные записи исчезли.
Открывают терминал ( Ctrl + Высокий звук + T ).
Тип uname -r
. Это покажет Вам ядро, которое Вы используете в настоящее время, таким образом, Вы не хотите удалять это.
Выполнение следующая команда: dpkg --list | grep linux-image
. Это покажет все ядра, которые установлены.
Записывают названия всех ядер, которые Вы хотите удалить.
Для удаления ядер работайте: sudo apt-get purge linux-image-x.x.x.x-xyz
( заменяют имя ядра соответствующим ).
Обновление GRUB: sudo update-grub2
И, Вы сделаны.
Премия: вот немного остроты, чтобы сделать все это автоматически:
sudo apt-get purge $( dpkg --list | grep -P -o "linux-image-\d\S+" | grep -v $(uname -r | grep -P -o ".+\d") )
Попробуйте эту команду. Это - усовершенствованная версия того же apt-get remove
, команда
sudo apt-get autoremove linux-image-3.2.0-23-generic-pae
Путем замены удаляет с , автоудаляют , процесс удаления автоматически находит и удаляет другие зависимости, оставленные также, таким образом, Вы получите чистое удаление, вместо того, чтобы иметь необходимость пойти тут и там и удалить остатки.
Повторение процесс для других старых ядер также.
После этого, выполнение
sudo update-grub
После этого, Вы будете видеть только последнее ядро.
slickest решение использовало бы ubuntu-tweak
. После установки разожгите его, перейдите в Janitor
, выберите Old Kernel
, выберите старые ядра, которые Вы намереваетесь удалить и Clean
.Именно! (Обратите внимание, что только старые ядра обнаруживаются в швейцаре)
Я предлагаю, чтобы Вы ввели это в терминальный сеанс ( Высокий звук - Ctrl - T ):
sudo update-grub
Это управляет, чтобы личинка причин использовала os-prober
и обновила меню.
, Если у Вас есть разделы со старыми релизами Ubuntu на них, которые использовали личинку (это появляется, OP имел аккуратный раздел выпуска где-нибудь, возможно, больше), необходимо очистить их также перед рабочей личинкой обновления на существующей системе. os-prober
находит Windows и другие разделы Linux. Для других разделов Linux это копирует объекты с их меню личинки, если таковые имеются, вместо того, чтобы смотреть на их файлы ядра.
, Если Вы имеете действительно, испортил конфигурацию, с которой лучшее решение может состоять в том, чтобы загрузить Вашу систему Ubuntu и переустановить личинку:
sudo apt-get --reinstall install grub2
При переустановке личинки это воссоздаст /etc/default/grub
и /boot/grub/menu.cfg
файл, на основе установленных ядер в том разделе и на ядрах, установленных в конфигурациях личинки другого (по-видимому, более старый) разделы Ubuntu (кажется, не никто для OP).
Для Ubuntu 12.04 LTS (Точные) 64 бита (на non-PAE 32 битах)
Проверка, какие версии присутствуют:
sudo update-grub
Удаляют самое старое первое, и не делают , удаляют текущую / последнюю версию:
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
Перепроверка, какая версия теперь существующая. (дополнительно)
Примечание: Этот шаг , потребовал , если Вы удаляете почти последний (или оставьте всего один), версия.
sudo update-grub
<час> Для Ubuntu 12.04 LTS (Точные) 32 бита (PAE)
Проверка, какие версии присутствуют:
sudo update-grub
Удаляют самое старое первое, и не делают , удаляют текущую / последнюю версию:
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
Перепроверка, какая версия теперь существующая. (дополнительно)
Примечание: Этот шаг , потребовал , если Вы удаляете почти последний (или оставьте всего один), версия.
sudo update-grub
Я обычно только запускаю Синаптический (который должен быть установлен отдельно в эти дни), поиск "Linux" в категории Installed, и отметьте все старые версии ядра и заголовков Linux (т.е. все кроме текущего), чтобы быть удаленными. При удалении они удалены из меню GRUB.
Должна быть изящная однострочная команда, чтобы сделать это, но чувствует себя более безопасным только сделать это вручную