Ubuntu – Can I delete the most recent kernels

bootgrub2kernel

Yesterday I asked about problems I am having with my laptop computer

Having problems booting my Lenovo laptop

Basically the problem is that all recent kernels are failing, whereas old kernels still work. I received a suggestion that perhaps the BIOS is the problem. I looked in my BIOS, set it to its default state and nothing improved.

The point I cannot understand is how BIOS could affect later kernels and leave older ones still working? The last kernel which still works is 3.19.0-20, but I noticed that it has an error on boot.

If I drop to 3.19.0-18 everything is clean.

It occurs to me that perhaps some bad piece of code is being dragged from kernel to kernel and that is what is giving me problems?

Everybody talks of deleting old kernels and what I want to try is to delete the latest kernels. I would like to boot to 3.19.0-18, which is the last completely clean kernel and delete everything later than that. Then I should be able to make a normal boot to the now latest 3.19.0-18 and have everything working again??

The method I see to delete kernels is via synaptic. There may be an even better choice which I don't know about.

The basic question is about the sanity of the idea. Do pieces get dragged from kernel to kernel, and can I go back to an old kernel and delete all recent ones? Has anyone actually tried to do such a thing?

Thanks,
Ilan

Best Answer

It is possible that bits of code may get dragged around from kernel to kernel - during the unpacking/install - It is also possible to go back to an older kernel. At the grub boot menu choose the Kernel you want to boot to - Once you have chosen the Kernel you want to keep and you have booted into it

uname -r

will tell you what kernel you are currently running on

dpkg -l | grep linux-image
dpkg -l | grep linux-headers

will tell you what kernels/headers are saved on your system - I will also delete the headers - though they dont take up too much space i still purge them, why have them if I am deleting the kernel?

Be advised that it is important to NOT delete the Kernel you are running i.e uname -r- Deleting these kernel and header entries will make your system unusable

then just delete the ones you dont want:

sudo apt-get purge 

an example of what the full command will look like:

sudo apt-get purge linux-image-3.16.0-41-generic linux-image-3.16.0-41-lowlatency linux-image-extra-3.16.0-41-generic 

sudo apt-get purge linux-headers-3.16.0-41 linux-headers-3.16.0-41-generic linux-headers-3.16.0-41-lowlatency 

an example of what the output of dpkg -l | grep linux-headers will look like:

jason@casa-wesella:~$ dpkg -l | grep linux-headers
ii  linux-headers-3.16.0-41                     3.16.0-41.57~14.04.1                    all          Header files related to Linux kernel version 3.16.0
ii  linux-headers-3.16.0-41-generic             3.16.0-41.57~14.04.1                    i386         Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii  linux-headers-3.16.0-41-lowlatency          3.16.0-41.57~14.04.1                    i386         Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii  linux-headers-3.16.0-43                     3.16.0-43.58~14.04.1                    all          Header files related to Linux kernel version 3.16.0
ii  linux-headers-3.16.0-43-generic             3.16.0-43.58~14.04.1                    i386         Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii  linux-headers-3.16.0-43-lowlatency          3.16.0-43.58~14.04.1                    i386         Linux kernel headers for version 3.16.0 on 32 bit x86 SMP
ii  linux-headers-generic-lts-utopic            3.16.0.43.34                            i386         Generic Linux kernel headers
ii  linux-headers-lowlatency-lts-utopic         3.16.0.43.34                            i386         lowlatency Linux kernel headers
Related Question