Принимаемый ответ с использованием sed для удаления старых ядер навсегда имеет некоторые недостатки, если кто-то не перезагрузил компьютер после обновления ядра, команда также удалит новое ядро.
Вот альтернативное решение который рассмотрит все ситуации, чтобы удалить только старые устаревшие ядра:
#!/bin/bash
kernels=( $(grep -Po "^linux-image-[^-]+-[^-]+-generic\b" < <(dpkg --get-selections)) )
cur_rel=$(grep -Po ".*(?=-[a-z]*$)" < <(uname -r))
for kernel in "${kernels[@]}"; do
ker_rel=$(grep -Po "[0-9].*(?=-[a-z]*)" <<< "$kernel")
dpkg --compare-versions "$ker_rel" gt "$cur_rel" && echo "Please Restart your computer first" && break
dpkg --compare-versions "$ker_rel" lt "$cur_rel" && sudo apt-get remove "$kernel"
done
Если у вас есть версия, которая является более новой, чем текущая, это даст вам предупреждение о перезагрузке компьютера в первую очередь. Также обратите внимание, что старые ядра сохраняются по уважительной причине: если вы каким-то образом испортили свое текущее ядро, что делает вашу систему неустойчивой, тогда вы сможете загрузиться в любое более раннее ядро.
сначала перейдите к компьютеру. затем загрузите свои драйверы для ПК / ноутбука, затем установите его. перезагрузите систему через терминал ctrl + alt + t type: reboot -f Done: -)