Как удалить нерабочее ядро ​​после обновления?

15

У меня есть. простой вопрос После того, как я обновил свое ядро, я не мог загрузиться (завис на фиолетовом экране), если я не выбрал старое ядро. Итак, как мне удалить новое ядро ​​с помощью synaptic. И как мне сделать это безопасно? Я в Квантовом Кетцеле. Мое ядро ​​3.5.0-40. Рабочее ядро ​​3.5.0-39. Кроме того, как я могу остановить появление обновлений ядра в диспетчере обновлений? Благодарю.

Дейв
источник
какая версия ядра? вы хотите удалить?
mojo706
Мое ядро ​​3.5.0-40
Дейв
1
Если вы хотите, чтобы ответы включали информацию о предотвращении повторной установки нового ядра вместе с другими вашими обновлениями , вы можете включить это в свой вопрос.
Элия ​​Каган
Я думаю, что не стоит удалять ядро ​​или останавливать обновления ядра, поскольку они обычно являются обновлениями безопасности. Смотрите этот вопрос о лучшей практике.
Ярно

Ответы:

28

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

Найти имя пакета ядра

dpkg -l | grep linux-image

На момент написания, по amd64/x86_64 архитектуре название изображения было:linux-image-$(uname -r)-generic

Для неподписанных образов ядра, например, созданных драйверами nvidia, образ может быть: linux-image-unsigned-4.20.17-042017-generic

Удалить (очистить - также удалить все файлы конфигурации)

sudo apt-get purge linux-image-3.5.0-40-generic

ПРИМЕЧАНИЕ. Для Ubuntu 18.04 LTS или более поздней версии вы также можете удалить какой- linux-modulesлибо linux-headersпакет или пакет одной и той же версии, чтобы сэкономить место на диске или сохранить работоспособность системы.

Терри Ван
источник
О, разве мне не нужно делать sudo update-grub после этого?
Дэйв
Скрипт postrm пакета обновит grub для вас, когда вы удалите (очистите) его ;-)
Terry Wang
Спасибо Терри, что исправил мою проблему. Теперь, как сохранить обновления ядра в диспетчере обновлений?
Дейв
sudo apt-get update && apt-get dist-upgrade -y, не уверен, если у вас есть linux-current-genericили linux-image-generic-lts-raringна не-LTS релизы.
Терри Ван
2
sudo apt-get remove linux-image-3.5.0-40*.

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

крафтером
источник
Ик о хранении ядер. Очень важные вещи. У меня есть еще один, кроме этого. Ты попробую завтра и отправлю обратно.
Дэйв
0

Ни один другой ответ на этот вопрос не кажется правильным. Полный ответ представляет собой смесь обоих из них с некоторыми дальнейшими исправлениями;

sudo apt-get purge *4.18.0-21*

Был ли 4.18.0-21номер вашего ядра, используйте, ls /bootчтобы увидеть его.

Это то, что сделало это для меня (хотя для того, чтобы избавиться от него, пришлось дважды запустить аналогичную команду /lib/modules/4.18.0-21-generic).

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

Как интересное примечание, в моем случае linux-headers-generic-hwe-18.04был также удален, и когда я попытался переустановить его, он хотел установить новейшее ядро ​​снова, поэтому не сделал этого. И тогда исследования действительно подтвердили, что это часть ядра 4.18.0-21; https://packages.ubuntu.com/bionic-updates/linux-headers-generic-hwe-18.04

Роэль Ван де Паар
источник