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

1 Answer 1


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                              i386         Generic Linux kernel headers
ii  linux-headers-lowlatency-lts-utopic                            i386         lowlatency Linux kernel headers
  • First of all thanks for the answer. Second my problem is solved. I kind of knew what had to be done but it was very scary to do without a second opinion. You gave me the courage to go ahead. The only place which I differed from your suggestion was in the command line. In my case the terminal output was messy and I didn't want typos in manually removing things of such importance. I preferred to use synaptic which showed me in green what was installed and in white what wasn't. (I prefer to use GUI instead of command line.) In any case I marked for complete removal the image and the header.
    – Ilan
    Jul 29, 2015 at 8:53
  • thats great! glad you found a solution :)
    – gingamann
    Jul 29, 2015 at 8:59
  • Then came the moment of truth. I did a reboot and first tried a manual choice of which kernel to use. To my delight the highest kernel was 3.19.0-18 which I used. Then I tried a boot with no intervention and again it booted. The mission had been accomplished. Finally I asked for the updater to give me the latest software. No new kernels were loaded but it booted again with no problems. Now uname -r shows I am using 3.19.0-25 so the update changed something, which is a bit surprising, but so long as it works, who cares? So thanks again for your help, and I prefer the GUI of synaptic to c.l.
    – Ilan
    Jul 29, 2015 at 9:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.