Each time Ubuntu installs a new Linux kernel (upgrade), it leaves the old one installed. It means if you update/upgrade regularly, the Grub boot menu will be filled with all the Linux kernels you installed on your system, even those you no longer need. Btw, this is done purposely to make sure that you can boot to a previous kernel in case you have problems with the new installed kernel. However, if the new kernel works for you, you can uninstall and remove the older kernels to clean up the Grub boot menu. Today, I’m gonna show you how to remove old Ubuntu kernels.
In older versions of Ubuntu you can just open a terminal or hit Alt+F2 and type in this command: gksu gedit /boot/grub/menu.lst. The thing is, in newer versions of Ubuntu (9.4+) the menu.lst file was replaced by /boot/grub/grub.cfg which is a read-only file and is not supposed to be edited, making that solution obsolete.
The best and safest way to clean up the Grub boot menu is to use the Synaptic Package Manager. Here’s how to do it:
1. First thing to do is find out the current version of the Linux kernel you’re using. Open a terminal and type in the following command uname -r
2. It will display the Linux kernel version you are using which should look something like this: 2.6.31-20-generic. (Take note of that number, you’ll need it for later)
3. Open the Synaptic Package Manager. Click on System > Administation > Synaptic Package Manager

4. On the “Quick search” box, type in linux-image.

5. It will list all available and installed Linux kernels. Look for those that have a green box on it (A green box indicates an installed package). To make it easier to find the packages, click on the column above the boxes to sort them and group them together.

6. Remember the Linux kernel version you got from Step #2? Find that package and make sure you don’t remove/uninstall it. Also, don’t remove the “linux-image-generic” package.
7. Now, find the other older versions of Linux kernels that you want to remove (Packages that have “linux-image-2.6.*”) and uninstall them. Do that by clicking on the box and select “Mark for Removal“.

Marked packages will be highlighted in red and the boxes will have an X on it.

IMPORTANT: Make sure that you don’t remove the Linux kernel package that you’re currently using (Step #2). Doing so can break your Ubuntu installation.
8. Click on the “Apply” button to complete the process.

That’s it. Reboot your computer and check the Grub boot menu. It should be shorter and clean from old Linux kernels that you no longer need.
Hope you like this tutorial on how to remove old Ubuntu kernels. If you find it helpful and useful, please don’t forget to bookmark and share it. Thank you!
JP Habaradas | January 14, 2010
JP Habaradas | September 16, 2009
JP Habaradas | April 22, 2009
JP Habaradas | March 4, 2009
JP Habaradas | February 4, 2009
JP Habaradas | November 20, 2008
JP Habaradas | September 6, 2007
JP Habaradas | July 10, 2007
JP Habaradas | October 30, 2009
JP Habaradas | October 1, 2010
JP Habaradas | January 5, 2007
JP Habaradas | July 16, 2007
JP Habaradas | November 30, 2008
Guest Author | January 11, 2018
JP Habaradas | January 10, 2018
Guest Author | January 10, 2018
JP Habaradas | January 4, 2018
Guest Author | January 4, 2018
JaypeeOnline started out as a personal blog back in 2002 as a place for the author to share his experiences & rants. After a few years, the author learned more about blogging and saw its potential so he decided to become serious and focus on a specific niche. Since the author loved computers and gadgets, Technology was the obvious choice.
This blog features the latest & popular Technology stories and other related topics that are featured in different categories - Gadgets, Freeware, Internet, Social Media and SEO just to mention a few. As a long-time and avid user of WordPress, the author also features a lot of WordPress-related stories and updates.
Aside from the author, this blog also features articles from guest bloggers. If you are interested in submitting your article/s and want it to be published here at JaypeeOnline, please read the Guest Post Guidelines.
More details on the About page.
Guest Author | January 11, 2018
JP Habaradas | January 10, 2018
Guest Author | January 10, 2018
JP Habaradas | January 4, 2018
Guest Author | January 4, 2018
Copyright © 2016 JaypeeOnline · Powered by WordPress · GoDaddy · Pressidium · MaxCDN

Albin
May 6, 2012 at 7:30 PM
Thanks a lot. I found this after a few minutes of searching the web, The other solutions I found was much more complicated but this one was 2 simple steps to follow, find current kernel and how to remove the old ones, and it worked like a charm.
mas
February 16, 2012 at 2:12 PM
See how it is done here whit aline of code and no software
http://tuxtweaks.com/2010/10/r.....e-command/
and the line is:
dpkg -l linux-* | awk ‘/^ii/{ print $2}’ | grep -v -e
uname -r | cut -f1,2 -d"-"| grep -e [0-9] | xargs sudo apt-get -y purgeJohan
November 7, 2011 at 2:32 PM
Thanks for the tutorial! I tried to remove the unused kernels on my Eee PC 901 running Eeebuntu, but I get the following error message when I mark the kernels I want to remove in Synaptic and click “Apply”:
Larfy
February 21, 2011 at 11:01 PM
Finally a somewhat elegant way to do it. Why doesn’t Ubuntu have a normal way of cleaning these things up?
Ravi
February 5, 2011 at 1:52 PM
Thanks for the simple instructions Jaypee. I searched for a while and found more complicated methods to clean up the old kernels. You made it easy!
david
November 26, 2010 at 8:38 AM
Great tip and advice. I did what Jhay said and kept the main kernel and the one before it, just in case. Thanks, dave
JP Habaradas
July 24, 2010 at 11:55 AM
@Walt – Yeah, that works too but its too complicated for some users. This article is for users who are new to Ubuntu/Linux and shares the “easy” way to do it. Thanks for sharing though! :D
Walt Sullivan
July 24, 2010 at 11:54 AM
I’m running 2.6.32-23-generic so I did:
COLUMNS=500 dpkg -l | egrep '2\.6\.' | egrep -v '2\.6\.2[5-8]-'
and found a bunch of obsolete “linux-headers-*” and “linux-restriced-modules*” packages to clean up as well.
JP Habaradas
April 7, 2010 at 9:15 PM
@Jhay – That’s what I do too. Btw, thanks for mentioning that, I think I should edit the post and add that so users can have a backup, just in case. Thanks! :)
Jim
April 11, 2011 at 8:47 PM
Jaypee, don’t we need to do a sudo update-grub as well? I thought that only by doing the grub update would the menu get fixed. Also, my grub2 boot selection menu has many, many more kernel entries than just the installed kernels visible from Synaptic. I guess I’ll have to go back and review what’s going on in my grub config files so that I’ll have a simplified boot menu. Sigh.
Jhay
April 7, 2010 at 9:11 PM
I keep the two newest version of the Ubuntu kernel when I was still using the OS, so that in case the upgrade doesn’t work, it can always revert to the previous one.
Recovering hard disk space but loosing security and system stability has always been a bad thing. :P