Linux boot menu как удалить запись

Обновлено: 02.07.2024

Приложение efibootmgr взаимодействует с прошивкой UEFI в системе. Это популярное приложение для изменения настроек EFI с целью создания и изменения загрузочных записей, с помощью которых можно загрузить Linux (или любую другую EFI операционную систему).

Приложение sys-boot/efibootmgr это не загрузчик. Это утилита, которая взаимодействует с прошивкой EFI в системе, которая работает в качестве загрузчика. С помощью efibootmgr можно создавать, менять местами, обновлять и удалять загрузочные записи.

Contents

Установка

Необходимо включить поддержку CONFIG_EFI_VARS :

Ядро Включение поддержки переменной EFI

Emerge

У пакета sys-boot/efibootmgr нет каких-либо USE-флагов. Все что нужно сделать - это установить его:

Конфигурация

EFI vars

Для того, чтобы успешно использовать efibootmgr , должна быть доступна файловая система переменных EFI. Следовательно система должна быть уже загружена в режиме EFI (а не через BIOS в режиме MBR), так как иначе переменные EFI сами по себе не будут доступны. Если система загружена в режиме MBR, перезагрузитесь и настройте все необходимое для загрузки EFI режиме. Обычно, для этого нужно, либо настроить встроенное ПО (BIOS), либо выбор в меню загрузки запись содержащую EFI.

Когда система загружена в EFI режиме запустите следующую команду, чтобы проверить доступность efivarfs:

Если данная файловая система не смонтирована (она должна быть смонтирована через скрипт инициализации sysfs ), можно смонтировать ее вручную следующей командой:

Предварительные условия =

Если системный раздел EFI (ESP) не существует, он должен быть создан, см. EFI System Partition

Использование

Получение списка загрузочных записей

Чтобы получить список текущих загрузочных записей, используйте опцию --verbose (-v) :

Создание загрузочной записи

Чтобы создать загрузочную запись EFI, нужно передать несколько аргументов программе efibootmgr :

  • --create (-c) чтобы создать новую запись;
  • --part (-p) за которой следует номер раздела, на котором находится системный раздел EFI;
  • --disk (-d) за которой следует диск, на котором находится системный раздел EFI;
  • --label (-L) за которой следует метка, которую необходимо использовать для загрузочной записи;
  • --loader (-l) за которой следует путь образа EFI для загрузки
Важно
Путь к образу EFI для загрузки должен в качестве разделителя в путях содержать \ (обратный слеш) вместо / (передний слеш).

Опционально, дополнительные ядра могут быть установлены и определены прошивкой UEFI. Это особенно полезно когда вы хотите протестировать больше ядер или сделать дуалбут с другой операционной системой. Они будут показаны в окне выбора загрузки, обычно после нажатия правильной комбинации клавиш во время инициализации системы. Последний добавленный вариант загрузки всегда имеет наибольший приоритет, так что он будет по умолчанию. Если правильная комбинация клавиш неизвестна, обратитесь к официальной документации производителя вашего компьютера. Обычно эту информацию несложно найти.

Удаление загрузочной записи

Перед удалением записи, сначала определите, какой ID был у записи.

Чтобы удалить запись Gentoo, которая была показана выше (и имеет идентификатор Boot0002), попросите efibootmgr удалить запись с идентификатором 2, передав в качестве аргументов следующие значения: --bootnum (-b) это идентификатор, и опция --delete-bootnum (-B) , означающая, что нужно удалить запись:

Вы удалили операционную систему со своего ПК с Linux? Не знаете, почему он все еще отображается в списке загрузчиков Grub, несмотря на то, что был удален? Не знаете, как удалить его из меню Grub? Мы можем помочь! Вот как удалить неработающие загрузочные записи Grub в Linux!

Установить настройщик Grub

В этом руководстве мы будем использовать приложение Grub Customizer, чтобы упростить изменение и настройку записей в меню загрузки Grub и предоставить простой графический пользовательский интерфейс, который пользователи могут использовать для изменения Grub без запутанных файлов конфигурации или чего-то еще. как это.

Приложение Grub Customizer по умолчанию не установлено ни в одном дистрибутиве, поэтому вам нужно будет пройти процесс установки, прежде чем научиться использовать его для удаления загрузочных записей. Чтобы установить последнюю версию Grub Customizer, откройте окно терминала, нажав Ctrl + Alt + T на клавиатуре. Оттуда следуйте инструкциям командной строки, которые соответствуют вашему дистрибутиву Linux ниже.

Ubuntu

Долгое время пользователям Ubuntu, желающим использовать Grub Customizer, приходилось работать с репозиторием PPA. Начиная с Ubuntu 19.04, это изменилось, и Canonical включила программное обеспечение в официальные источники программного обеспечения для упрощения установки.

Проверь это - Как удаленно контролировать компьютеры сотрудников в Windows, Linux и Mac

Чтобы установить Grub Customizer в Ubuntu 19.04, используйте команду Apt ниже.

Вы используете вместо этого Ubuntu 18.04 LTS или Ubuntu 16.04 LTS? Хотите заполучить последнюю версию Grub Customizer? Добавьте программный PPA в Ubuntu с помощью следующей команды.

После добавления программного PPA запустите команду обновления.

Наконец, установите приложение на свой компьютер с помощью:

Debian

Как и в случае с Ubuntu, заставить Grub Customizer работать в Debian Linux было довольно утомительно. Однако, начиная с последней версии Debian 10, пользователи могут легко установить приложение без особых проблем, поскольку оно включено в репозиторий программного обеспечения «Debian Main». Чтобы начать установку, используйте команду Apt-get ниже.

Arch Linux

Grub Customizer можно установить в Arch Linux, если вы включили программный репозиторий «Сообщество». Чтобы включить это репо, откройте файл конфигурации Pacman с помощью текстового редактора Nano.

Проверь это - Как слушать Apple Music на рабочем столе

Выйдя из Nano, установите Grub Customizer прямо из репозитория «Сообщество» с помощью:

Fedora

Начиная с версии 29, Grub Customizer доступен пользователям Fedora Linux. Если вы хотите установить программное обеспечение, откройте окно терминала и используйте команду Dnf ниже.

OpenSUSE

Чтобы установить приложение Grub Customizer в Open SUSE, щелкните здесь . Оказавшись на странице, найдите свою версию SUSE и нажмите кнопку установки, чтобы начать работу.

Удалите сломанные загрузочные записи Grub

Запустите приложение Grub Customizer на рабочем столе Linux, нажав Alt + F2, набрав «grub-customizer» и нажав Enter. Или найдите его в меню приложения.

Как только вы запустите приложение, появится окно с паролем. Введите пароль вашего имени пользователя. Ввод пароля предоставит вам root-доступ, необходимый для изменения настроек внутри Grub Customizer.

Следуйте пошаговым инструкциям ниже, чтобы удалить загрузочные записи.

Шаг 1. Найдите вкладку «Конфигурация списка» в приложении и щелкните ее мышью, чтобы загрузить меню Grub на вашем ПК с Linux.

Шаг 2: Просмотрите список, чтобы найти запись Grub, от которой вы хотите избавиться. Когда вы найдете его, щелкните его правой кнопкой мыши, чтобы открыть контекстное меню.

Шаг 3: Просмотрите меню, вызываемое правой кнопкой мыши, и найдите кнопку «Удалить», чтобы мгновенно удалить запись меню из списка загрузчика Grub. При необходимости повторите этот процесс, чтобы удалить и другие.

Шаг 4: Найдите кнопку «Сохранить» и выберите ее, чтобы сохранить изменения, внесенные в систему меню. Когда все будет сохранено, закройте приложение.

Обновление Grub

Теперь, когда поврежденные записи Grub удалены, загрузчик Grub необходимо обновить, чтобы отразить изменения. Для этого следуйте приведенным ниже командам.

Ubuntu / Debian

Fedora / OpenSUSE

Arch Linux

Обновив Grub, перезагрузите компьютер с Linux. Когда ваш компьютер с Linux загрузится, вы заметите, что изменения, внесенные в загрузчик Grub, были сохранены, и записи, которые вы удалили, больше не должны присутствовать в меню загрузки.

Я регулярно удаляю старые ядра, оставляя только последние две записи, используя Synaptic.

Я использую Precise. Однако в моем меню «предыдущая версия Linux» Grub имеется немало записей, помеченных как 2.6.8. Я не могу найти эти linux-изображения в Synaptic.

Sudo update-grub дает:

Моя загрузочная папка содержит следующее:

Помогите с удалением старых и несуществующих ядер из Grub.

Я нашел, что это проблема.

Проблема заключалась в том, что когда я обновил Ubuntu, установив через liveUSB вместо обычного обновления, он оставил старые файлы ядра в папке /boot.

Теперь, когда я обновил то же самое с 12.10 до 13.04, я столкнулся с такой же ситуацией.

Решение состоит в том, чтобы вручную удалить все файлы, связанные со старыми ядрами в папке /boot, и запустить sudo update-grub . Дополнительные записи исчезли.

Откройте терминал ( Ctrl + Alt + T ).

Введите uname -r . Это покажет вам ядро, которое вы используете в настоящее время, поэтому вы не хотите удалять это.

Выполните следующую команду: dpkg --list | grep linux-image . Это покажет все установленные ядра.

Запишите имена всех ядер, которые вы хотите удалить.

Чтобы удалить ядра, запустите: sudo apt-get purge linux-image-x.x.x.x-xyz ( заменить имя ядра соответствующим ).

Обновить GRUB: sudo update-grub2

Бонус: вот маленький однострочный файл, который сделает все это автоматически:

Попробуйте эту команду. Это уточненная версия той же команды apt-get remove

Заменив удалить на autoremove , процесс удаления автоматически находит и удаляет другие зависимости, оставшиеся, поэтому вы получите чистую деинсталляцию, вместо того, чтобы идти сюда и там, и удалите остатки.

Повторите этот процесс и для других старых ядер.

После этого запустите

После этого вы увидите только последнее ядро.

Обычно я просто запускаю Synaptic (который должен быть установлен отдельно в эти дни), ищите «linux» в категории Installed и отметьте все старые версии ядра и linux-заголовки (то есть все, кроме текущего), чтобы удален. При удалении они удаляются из меню GRUB.

Для этого должна быть отличная однострочная команда, но для нее безопаснее просто делать это вручную

Самое slickest решение будет использовать ubuntu-tweak . После установки запустите его, перейдите в Janitor , выберите Old Kernel , выберите старые ядра, которые вы намерены удалить, и Clean . Это оно! (Обратите внимание, что в janitor отображаются только старые )

Я предлагаю вам ввести это в сеансе терминала ( Alt - Ctrl - T ):

Эта команда заставляет grub использовать os-prober и обновлять меню.

Если у вас есть разделы со старыми выпусками Ubuntu на них, которые использовали grub (кажется, у OP был какой-то natty-релиз, возможно, больше), необходимо также очистить их перед запуском update-grub в текущей системе. os-prober находит Windows и другие разделы Linux. Для других разделов Linux он копирует элементы из меню grub, если таковые имеются, вместо того, чтобы смотреть на их файлы ядра.

Если у вас действительно испорченная конфигурация, лучшим решением может быть загрузка вашей системы Ubuntu и повторная установка grub с помощью:

При переустановке grub он воссоздает /etc/default/grub и /boot/grub/menu.cfg на основе установленных ядер в этом разделе и на ядрах, установленных в конфигурациях grub других (предположительно более старых) разделов Ubuntu (для OP не похоже).

Для Ubuntu 12.04 LTS (точный) 64-битный (на 32-битном без PAE)

Проверьте, какие версии присутствуют:

Сначала удалите старшую, а не удалите текущую /последнюю версию:

Повторно проверьте, какая версия теперь присутствует. (Необязательно)

Примечание: Этот шаг требуется , если вы удалите все, кроме последней (или оставите только одну) версию.

Для Ubuntu 12.04 LTS (точный) 32bit (PAE)

Проверьте, какие версии присутствуют:

Сначала удалите старшую, а не удалите текущую /последнюю версию:

Повторно проверьте, какая версия теперь присутствует. (Необязательно)

Примечание: Этот шаг требуется , если вы удалите все, кроме последней (или оставите только одну) версию.

Каждый раз, когда я устанавливаю новое ядро ​​Linux, оно остается в grub_config, каждый раз делая меню загрузки длиннее.

Я знаю, что могу вручную искать установленные пакеты и удалять их.

Предоставляет ли Ubuntu какой-либо более простой способ очистить их или не показывать в списке загрузки?

Эта команда удаляет пакеты, которые были автоматически установлены для разрешения зависимости, но теперь больше не зависят от них. Это включает в себя старые версии linux-headers-* а также linux-image-* , (Это также разумно для этого процесса, оставив одну запасную версию ядра как запасной вариант!)

GRUB2 и его отображение всех ядер

Последние версии Grub2, установленные в Ubuntu, автоматически отображают последнее ядро ​​и скрывают старые версии, которые вы, возможно, установили.

GNU GRUB

Если вы не видите свой grub - не забудьте нажать Shift во время загрузки.

Как видите, отображается только последнее ядро.

Если вы выберете показанную опцию (нажмите Enter ), тогда все старые ядра станут видимыми и доступными для загрузки.

GNU GRUB Предыдущие версии

Как навсегда удалить старые ядра

Первая загрузка с последним доступным ядром.

Есть несколько способов удалить старые ядра. Лично я бы не стал трогать Computer Janitor, потому что это, как признается, сломало ваш компьютер своими советами.

синаптические

Альтернативой является Synaptic ( sudo apt install synaptic )

найдите linux-image, щелкните правой кнопкой мыши ядро, выберите полное удаление и, наконец, нажмите кнопку " Применить", чтобы удалить ядро.

Synaptic Package Manager

Повторите поиск, но на этот раз для linux-header - вы можете удалить связанные заголовки для образа ядра, выбранного ранее.

Synaptic, тем не менее, не будет пытаться проверить, что вы пытаетесь удалить. вы можете непреднамеренно удалить свое новейшее ядро ​​- или даже удалить все ваши ядра с помощью этого инструмента, оставив вам не загружаемую Ubuntu!.

Не забудьте проверить, какое ядро ​​вы используете тип:

Результат будет похож на:


Запомните результат и номер - убедитесь, что вы не удалили соответствующее изображение или заголовок.

Моя рекомендация - оставить как минимум два или предпочтительно три ядра, включая самое последнее. Причиной рекомендации является то, что у вас будет по крайней мере одно / два других ядра для загрузки, если по какой-либо причине последнее ядро ​​вы не можете загрузить или вводите регрессивную возможность, такую ​​как неисправное беспроводное соединение.

Сначала перезагрузите систему, чтобы убедиться, что она использует новейшее ядро. Затем откройте терминал и проверьте ваше текущее ядро:

НЕ УДАЛЯЙТЕ ЭТОГО ЯДРА!

Затем введите команду ниже, чтобы просмотреть / просмотреть все установленные ядра в вашей системе.

Найдите все ядра, которые ниже вашего текущего ядра. Когда вы знаете, какое ядро ​​удалить, продолжайте ниже, чтобы удалить его. Запустите команды ниже, чтобы удалить ядро, которое вы выбрали.

Наконец, выполните команды ниже, чтобы обновить grub2

Перезагрузите вашу систему.

Мой однострочник для удаления старых ядер (это также освобождает место на диске)

Объяснение (помните, | использует выходные данные предыдущей команды в качестве входных данных для следующей)

  • dpkg --list список всех установленных пакетов
  • grep linux-image ищет установленные образы Linux
  • awk '< print $2 >' просто выводит 2-й столбец (который является именем пакета)
  • sort -V упорядочивает элементы по номеру версии
  • sed -n '/'`uname -r`'/q;p' печатает строки перед текущим ядром
  • xargs sudo apt-get -y purge удаляет найденные ядра

Разматывать sed вызов:

  • -n говорит sed быть спокойным
  • `uname -r` выводит текущую установленную версию ядра - мы включаем ее в обратные кавычки, чтобы вывод был включен как часть команды (вы также можете увидеть это как $(uname -r)
  • /something/q говорит остановка, когда вы сопоставляете "что-то" (в этом случае что-то выводится uname -r ) - / окружить регулярное выражение
  • p это печать
  • ; это разделитель команды, так /something/q;p говорит, что выход, когда вы соответствуете что-то, иначе распечатать

в целом, sed -n '/'`uname -r`'/q;p' выводит строки, пока они не совпадут с текущим именем ядра.

Если вы параноик (как я), вы можете сделать последнюю часть xargs echo sudo apt-get -y purge чтобы распечатать команду очистки старых ядер, вы можете проверить, что ничего неожиданного не было добавлено до ее запуска.

Модифицированная версия для удаления заголовков:

Обратите внимание sed вызов изменен. "$(uname -r | sed "s/\([0-9.-]*\)-\([^0-9]\+\)/\1/")" извлекает только версию (например, "3.2.0-44"), без "-generic" или подобного из uname -r

Версия "все в одном" для удаления изображений и заголовков (объединяет две версии выше):

Ubuntu 16.04+:

Ubuntu 15.10 и ниже:

Я считаю, что это самый простой и быстрый способ. Он хранит последнее ядро ​​и еще два:

Чтобы изменить количество сохраняемых дополнительных ядер:

Удаление записей из Grub 2 Записи должны быть удалены путем редактирования или удаления файлов в папке /etc/grub.d. Файл /boot/grub/grub.cfg доступен только для чтения и обычно не требует редактирования.

Слишком много ядер?

Если вы не уверены в том, какое ядро ​​вы используете в данный момент, в терминале введите uname -r.

Ядра, удаленные через APT (Synaptic, "apt-get remove" и т. Д.), Автоматически обновят grub.cfg, и никаких действий пользователя не требуется.

Отличным инструментом для удаления ядер (и пунктов меню) является Ubuntu-Tweak, безопасное и простое в использовании приложение с графическим интерфейсом.

Установите Ubuntu твик

Ubuntu-Tweak будет доступен в разделе Приложения> Системные инструменты.

Удалить старые записи ядра

Выберите "Очиститель пакетов" слева и "Очистить ядро" на правой панели.

Выберите из отображаемого списка образы ядра и заголовки, которые вы хотите удалить. Используемое ядро ​​отсутствует в списке.

Удалить операционные системы из меню Grub

Другие операционные системы, которые были удалены с компьютера, также будут удалены из меню после запуска "update-grub" от имени пользователя root.

Пункты меню размещаются в меню Grub2 скриптами. Если вы не хотите, чтобы в меню были введены другие операционные системы, отключите /etc/grub.d/30_osprober

Запустите эту команду, чтобы остановить запуск скрипта
sudo chmod -x /etc/grub.d/30_os-prober

DISABLE_30_OS-PROBER='true' в /etc/default/grub

Удалить Memtest86+ из меню Grub
sudo chmod -x /etc/grub.d/20_memtest86+

  • Запустите команду update-grub, чтобы изменения могли быть включены в grub.cfg

Примечание. После обновления ядра в меню GRUB добавляется новая запись. Вы можете удалить более старую, если хотите. Однако большинство опытных пользователей посоветуют вам сохранить хотя бы одну запасную запись на случай, если что-то пойдет не так с обновлением, и вы для устранения неполадок необходимо загрузить более старую версию ядра.

Альтернативный способ удаления записей ядра (до 10.04)

для GRUB не GRUB2

Вы можете найти его в разделе Система >> Администрирование >>

Вы видите на втором скриншоте, вы можете выбрать, сколько ядер показать? Обычно я просто держу его на 1, но когда я получаю обновление ядра, я всегда изменяю его на 2 перед перезапуском, чтобы я мог выбрать старое ядро, если у нового ядра проблемы с моим оборудованием. Как только я знаю, что новое ядро ​​работает хорошо, я изменяю его обратно на 1.

Чисто в командной строке это удалит все, кроме текущего и второго самого текущего (через "-2" в команде head ниже):

Обновить: purge-old-kernels устарела в настоящее время.

Я сделал скрипт для очистки ядер даже в сложных условиях. Это называется linux-purge и вы можете найти это здесь.

Если вы просто хотите очистить ядра (и связанные пакеты), которые старше, чем используемое в настоящее время ядро, когда система не сломана, вы можете использовать этот скрипт.

Здесь также есть страница документации по Ubuntu, в которой я участвовал относительно удаления старых ядер.

Вы можете следовать разделу Использование пакета "unattended-updates" в статье " Автоматические обновления безопасности" в Ubuntu Wiki, чтобы выполнить это.

Вам необходимо изменить следующую строку в файле /etc/apt/apt.conf.d/50unattended-upgrades;

автоматически удалять старые пакеты, в том числе ядра.

Также удалите или прокомментируйте строку

в разделе "NeverAutoRemove" файла /etc/apt/apt.conf.d/01autoremove.

Самый быстрый / простой способ (применим как минимум с 12.04), который уже имеется в Ubuntu: apt-get , Выполните следующие действия, если хотите удалить все старые версии ядра, которые не используются (за исключением предыдущей версии, которую вы не используете. Это делается для того, чтобы убедиться, что если текущая версия ядра каким-либо образом дает сбой, у вас есть возможность пойти вернуться в предыдущее состояние). Сделайте следующее:

Это исключит любые старые файлы (включая версии ядра), которые у вас могут быть. Обратите внимание, что если у вас много старых версий, это займет некоторое время, поскольку необходимо убедиться, что удаление версии ядра не имеет проблем. Для меня удаление последних 12 версий ядра заняло около 2 минут. Вы также можете сделать следующее:

Который устранит все загруженное и хранящееся в папке кеша apt. Наконец у вас есть:

который будет проверять наличие любых неиспользуемых пакетов и удалять их при необходимости. Это отлично подходит для тех библиотек и пакетов зависимостей, которые больше не нужны ни одному приложению.

Компьютер Janitor может очищать старые ядра, и я считаю, что по умолчанию установлен в Ubuntu (но не Kubuntu).

GRUB 1, если вы используете это, имеет опцию в /boot/grub/menu.lst указать, сколько ядер должно показываться на максимуме. GRUB 2, насколько я могу судить, не делает.

Чтобы выяснить, какие ядра и заголовки установлены, используйте

Затем вы можете удалить их по одному или вместе, просто убедитесь, что самые последние из них.

Есть также несколько удобных команд и скриптов для автоматизации удаления.

Следующие утверждения об удалении всех неиспользуемых ядер и заголовков:

Вот что происходит при запуске 18.04.1:

Чтобы удалить старые образы ядра Linux, сначала загрузитесь в ядре, которое вы хотите сохранить.

Вы также можете проверить версию ядра, используя команду uname -r чтобы вы не удалили неправильный по ошибке.

Теперь перейдите в менеджер пакетов synaptic и найдите linux-image и удалите более старые версии, кроме той, которая показана верхней командой. Вообще я предпочитаю идти с последним.

Теперь при перезагрузке вы увидите более чистое меню grub.

Вы можете установить Ubuntu-Tweak, а затем перейдите в Приложения -> Системный инструмент -> Ubuntu Tweak и

введите описание здесь

нажмите очиститель пакетов и очистите ядра. оно не показывает используемое в настоящее время ядро, поэтому вы всегда будете в безопасности.

Лично мне нравится использовать Synaptic , Это заставляет меня чувствовать себя более уверенно в том, что происходит. Единственное приложение, которое я использовал, имеет возможность удалять старые ядра, это Ubuntu Tweak.

Как удалить ядра, которые вы не используете:

  • Откройте UbuntuTweak
  • Нажмите "Очиститель пакетов" в разделе "Приложения" на левой панели.
  • В правой части окна "Очистка" нажмите "Очистить ядра".
  • Выбрать все ядра - я думаю, что используемого в списке нет, но на всякий случай проверка работает uname -a в терминале

Вы можете удалить старые ядра ( linux-image-. пакеты), используя Synaptic, и это удалит их из меню загрузки. Будьте осторожны, чтобы не удалить работающее ядро ​​(вы можете проверить его версию с uname -r ).

Имейте в виду, что наличие одной или двух старых версий может помочь вам устранить неполадки, если что-то пойдет не так.

Кроме того, вы можете редактировать / удалять записи вручную ( gksu gedit /boot/grub/grub.cfg ), но они будут сгенерированы заново при обновлении до более нового ядра. Если вы думаете об удалении recovery mode варианты - нет. Они могут пригодиться, если вы сломаете что-то, что мешает вам загрузиться.

Преимущество этого ответа в том, что нативный Ubuntu Bash используется без установки сторонних приложений. Пользователи кастомных ядер, которые не использовали apt или же dpkg можете изменить этот сценарий bash в соответствии с их потребностями. Этот ответ основан на ( Как выборочно очистить все старые ядра сразу).

Zenity предоставляет удобный графический интерфейс для терминала для обработки списка и выбора элементов с помощью радиокнопок:

Как видно из названия, текущее ядро, с которым вы загрузились, не может быть удалено и не включено в список. Указанный размер - это то, сколько будет сохранено в /boot каталог. Больше сохранено на вашем диске, потому что двоичные файлы ядра находятся и в других областях. 27 июля 2017 г. примечание: каталоги /usr/src/*kernel_version* а также /lib/modules/*kernel_version* теперь включены также.

Дата изменения обнаружена с использованием stat команда. В моей системе эта дата "затрагивается" каждый раз, когда ядро ​​загружается с помощью этого ( Как узнать, когда в последний раз загружалась определенная версия ядра?) Cron скрипт перезагрузки. Однако в вашей системе эта дата будет датой выпуска ядра, а не последней, когда вы ее загрузили.

Вам предоставляется последняя возможность просмотреть все, что будет очищено, и увидеть общее дисковое пространство (несколько вводящее в заблуждение), которое будет восстановлено:

Скопируйте этот код в исполняемый файл с именем rm-kernels в /usr/local/bin :

ПРИМЕЧАНИЕ. Вам нужно разрешение sudo для создания файла, поэтому используйте:

Чтобы сделать файл исполняемым, используйте:

rm-kernels-server версия сервера для выборочного удаления всех ядер одновременно Вместо графического диалогового окна с графическим интерфейсом используется текстовое диалоговое окно для выбора очищаемых ядер.

Перед запуском скрипта необходимо установить функцию диалога, используя:

sudo apt install dialog

Диалог находится в стандартной установке Ubuntu Desktop, но не в Ubuntu Server.

Образец экрана


rm-kernels-server код Bash

ПРИМЕЧАНИЕ: в вызове dialog директива --ascii-lines передается для замены расширенного набора символов рисования линии (который ssh не нравится) с "+-----+" для рисования ящиков. Если вам не нравится этот внешний вид, вы можете использовать --no-lines директива для не коробки вообще.

28 июля 2017 г. Обновления

Расчетный размер каждого ядра был взят из /boot/*kernel_version* которые были 5 файлов на общую сумму

50 МБ. Формула была изменена, чтобы включить файлы в /usr/src/*kernel_version* а также /lib/modules/*kernel_version* , Расчетный размер для каждого ядра теперь составляет

400 МБ. Код выше для rm-kernels а также rm-kernels-server был обновлен Однако приведенные выше примеры экранов еще не отражают эти изменения.

По умолчанию размер файлов для linux-заголовков оценивается в 125 МБ, а для linux-образа - в 220 МБ, потому что du может быть мучительно медленным, если файлы не находятся в кеше. Чтобы получить реальный размер, используя du передать любой параметр в скрипт.

Сумма всех размеров ядра (за исключением текущей работающей версии, которую нельзя удалить) теперь отображается в строке заголовка.

Диалоговое окно, используемое для отображения даты последнего доступа каждого ядра. Эта дата может быть перезаписана для всех ядер во время резервного копирования или аналогичных операций. Теперь в диалоговом окне отображается Дата изменения.

Читайте также: