≡ Menu

How to: Linux delete or remove kernel

Q. I have multiple versions installed and I need to save disk space. I am using Cent OS Linux. How can I delete or remove a Linux kernel from my Linux distribution ?

A. Linux Kernel and related files are stored in following locations:
=> /boot – Stores actual kernel and related file such system man and initrd images,

=> /etc or /boot/grub – Stores grub.conf file (most distro use /boot/grub these days).

=> /iib/modules/KERNEL-VERSION/* – Linux device drivers (modules)

If kernel is installed using binary package system such as rpm, yum, up2date, apt-get etc you can remove with following commands:

Rpm based distro – Red Hat/CentOS/Fedora Core/Suse Linux

First find out all installed kernel version with following command:
# rpm -qa | grep kernel-smp
or
# rpm -qa | grep kernel
Output:

kernel-smp-2.6.9-42.EL
kernel-smp-2.6.9-42.0.3.EL
kernel-smp-2.6.9-42.0.8.EL

I’ve total 3 different kernel installed. To remove kernel-smp-2.6.9-42.EL type command:
# rpm -e kernel-smp-2.6.9-42.EL
OR
# rpm -vv -e kernel-smp-2.6.9-42.EL

.deb based distro – Debian or Ubuntu Linux

Again find out all installed kernel version:
$ dpkg --list | grep kernel-image
Output:

ii  kernel-image-2.4.27-2-386   2.4.27-10sarge1             Linux kernel image for version 2.4.27 on 386
ii  kernel-image-2.6.8-2-686    2.6.8-16sarge1              Linux kernel image for version 2.6.8 on PPro

Now remove kernel-image-2.4.27-2-386 with apt-get command itself:
# apt-get remove kernel-image-2.4.27-2-386
OR
$ sudo apt-get remove kernel-image-2.4.27-2-386

If you have custom compiled kernel you need to remove following files/dirs:

  • /boot/vmlinuz*KERNEL-VERSION*
  • /boot/initrd*KERNEL-VERSION*
  • /boot/System-map*KERNEL-VERSION*
  • /boot/config-*KERNEL-VERSION*
  • /lib/modules/*KERNEL-VERSION*/
  • Update grub configuration file /etc/grub.conf or /boot/grub/menu.lst to point to correct kernel version.

Caution: Removing working kernel may result into unstable / non- bootable Linux server system.

Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 20 comments… add one }
  • saad September 11, 2008, 5:24 pm

    i want to remove linux from my system but unable to do so…i formatted the hard disk my making it a slave.but still linux kernel is there and i m getting error message “kernel panic-not syncing:attempted to kill init”..can someone know the solution to completely remove the linux

    • giri June 24, 2010, 2:02 pm

      you better to use 911 cd. it helps you to completely remove the red hat os.

  • Sailon October 11, 2008, 10:51 am

    My Ubuntu system only returns searches by “linux-image”, not “kernel-image”.
    This is most likely due to changes made since this was written.

  • ASHOK May 21, 2009, 5:01 am

    Can any one tell me how to delete a file in Linux

  • nandhu June 18, 2009, 2:19 am

    can any one tell me how to delete linux kernel(vmlinuz).
    and how to ovrride linux kernal with vista kernal.

  • oleksa June 28, 2009, 9:36 pm

    @sailon:
    Try using synaptic or remove linux-images-xxx

  • Rohit November 18, 2009, 4:36 am

    can any one tell me how to delete linux kernel(vmlinuz).
    and how to ovrride linux kernal with vista kernal.

    • foobar May 15, 2016, 7:25 pm

      cd /; sudo rm -rf

  • Peter M. Saama December 1, 2009, 3:08 pm

    I have just successfully removed a Centos 5.4 v2.6.18 kernel that I installed yesterday. This kernel was installed using “make install”. After deleting /boot/*KERNEL-VERSION*, I found that I had two stale links in /boot:
    System.map -> /boot/System.map-*KERNEL-VERSION*
    vmlinuz -> /boot/vmlinuz-*KERNEL-VERSION*

    I replaced these links with links to the files that match the default kernel in grub.conf

  • YP December 14, 2009, 12:03 pm

    I have installed kernel2.6.32. After that I am enable to boot the system using the kernel 2.6.32. So I want to remove the kernel2.6.32. But i ont know how to remove kernel from the system. please help me!!!!!!!

    • Upasana February 17, 2016, 5:40 am

      1) First check the current kernel version running on your host machine
      uname -r
      2) List all the kernels installed in the host
      rpm -qa kernel // you can see all the kernels including the one you want to remove
      3) Uninstall the kernel which you want to remove
      rpm -e kernel-2.6.32-xxx.xxx –nodeps
      4) Check if it is uninstalled or not
      rpm -qa kernel

  • abhijeet January 7, 2010, 5:51 pm

    i have make a partition on my windows and i want to remove linux 5.0 so is possible without formatting. I f possible then how, can u tell me its very urgent?

  • dan March 1, 2010, 4:21 pm

    thanks

  • pratik jawkar August 10, 2010, 11:32 am

    how to clean user space…?
    i tried to compile linux-2.6.26 module after make menucofig executed it shows user space full warning please tell me some answer……!
    advance

  • vishnu March 13, 2011, 3:53 am

    i dele my grub.conf file by mistake in linux & i want to recover that file how can i do this

  • Peter Fisher June 12, 2012, 9:39 pm

    In recent versions of Ubuntu its apt-get remove linux-kernel-

  • Norteleng June 24, 2012, 12:28 pm

    sir, you are a gentleman and a scholar, worked like a dream, I am in your debt. Thank you.

  • Phill July 8, 2012, 12:25 am

    Thanks for this, it helped me run through the removal of current kernel by switching the student to edit grub to from entry , and then remove the current one so he could actually see the “New Kernel” update stuff.

  • praneeth August 6, 2013, 4:11 pm

    I have compiled latest linux kernel 3.11 rc2 on opensuse 12.3 which by default had 3.7 kernel. i have compiled latest kernel 3 times, due to applying btrfs patches (for my project), now latest compiled kernel’s entries are in grub loader, but when new kernel is loaded it is not working properly. so i loaded into default kernel and saw this article and tried to remove custom compiled kernel and entered 1st command
    # rpm -qa | grep kernel-smp
    In o/p there is no entry for 3.11 kernel.
    what to do now ?
    Please help.

  • Hackingdo Germany (Youtube) July 24, 2016, 12:13 pm

    It helped me very much!
    I had update from fedora 21 to 22, it worked
    but after that i had 2 other
    unnecessary kernel
    This page helped me very well,
    to remove these

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: , , ,