删除ubuntu旧内核的方法

本文转自:[url]http://www.stwind.org/archives/456/ [/url],并结合自己使用情况稍作修改
使用Ubuntu一段时间后,就会发觉由于自动升级,系统里安装了很多内核。像我,竟然安装了下面那么多,这个造成了漫长的启动列表。必须删掉一些不用的。
首先就是使用如下命令,列出所有安装的内核,下表中,带有image的就是内核文件。从中选择要卸载的包,用apt-get来卸载
abigbone@ubuntu:~$ dpkg --get-selections|grep linux
libselinux1                    install
linux-firmware                    install
linux-generic                    install
linux-headers-2.6.35-22                install
linux-headers-2.6.35-22-generic            install
linux-headers-2.6.35-23                install
linux-headers-2.6.35-23-generic            install
linux-headers-generic                install
linux-image-2.6.35-22-generic            install
linux-image-2.6.35-23-generic            install
linux-image-generic                install
linux-libc-dev                    install
linux-sound-base                install
linuxqq                        install
pptp-linux                    install
syslinux                    install
syslinux-common                    install
util-linux                    install
abigbone@ubuntu:~$ sudo apt-get remove linux-image-2.6.35-22-generic
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
下列软件包将被【卸载】:
linux-image-2.6.35-22-generic
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
解压缩后将会空出 107MB 的空间。
您希望继续执行吗?[Y/n]y
(正在读取数据库 … 系统当前共安装有 160111 个文件和目录。)
正在卸载 linux-image-2.6.35-22-generic …
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.35-22-generic /boot/vmlinuz-2.6.35-22-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 2.6.35-22-generic /boot/vmlinuz-2.6.35-22-generic
Generating grub.cfg …
cat: /boot/grub/video.lst: 没有那个文件或目录
Found linux image: /boot/vmlinuz-2.6.35-23-generic
Found initrd image: /boot/initrd.img-2.6.35-23-generic
Found Windows 7 (loader) on /dev/sda1
done
The link /vmlinuz.old is a damaged link
Removing symbolic link vmlinuz.old
you may need to re-run your boot loader[grub]
The link /initrd.img.old is a damaged link
Removing symbolic link initrd.img.old
you may need to re-run your boot loader[grub]
正在设置 unetbootin (partitionmanagerrev146) …
expr: non-integer argument
unetbootin
E: Sub-process /usr/bin/dpkg returned an error code (1)
abigbone@ubuntu:~$ sudo apt-get remove linux-headers-2.6.35-22-generic
正在读取软件包列表… 完成
正在分析软件包的依赖关系树
正在读取状态信息… 完成
下列软件包将被【卸载】:
linux-headers-2.6.35-22-generic
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。
有 1 个软件包没有被完全安装或卸载。
解压缩后将会空出 10.0MB 的空间。
您希望继续执行吗?[Y/n]y
(正在读取数据库 ... 系统当前共安装有 156306 个文件和目录。)
正在卸载 linux-headers-2.6.35-22-generic ...
正在设置 unetbootin (partitionmanagerrev146) ...
Installation failed, kernel was not downloaded or extracted properly, make sure your internet connection is working and that there is free space in /boot and try again

即sudo apt-get remove linux-image-2.6.35-22-generic
sudo apt-get remove linux-headers-2.6.35-22-generic
可以卸载旧内核。 用uname -a 可以查看当前内核。
使用这个命令可以查看当前系统使用的内核。
(卸载后,在启动菜单里还有其选项,这样我们需要修改启动菜单,
方法如下:用命令打开menu.lst
admingu@andy:~$ gksudo gedit /boot/grub/menu.lst
然后找到不需要的菜单将其删除即可,还要注意一点,记得修改default的值,修改默认启动项!)
————————————————————————————————————————————
查看内核的方法是,点菜单“系统-系统管理-系统监视器-系统”,可以查看系统当前使用的内核版本;
————————————————————————————————————————————
还可以查看menu.lst的第一个启动项,这是当前加载的内核版本,一般数字是最大的,下面可能还有较小的数字,这是旧的内核
最后再终端输入
abigbone@ubuntu:~$ sudo update-grub
[sudo] password for abigbone:
Generating grub.cfg …
cat: /boot/grub/video.lst: 没有那个文件或目录
Found linux image: /boot/vmlinuz-2.6.35-23-generic
Found initrd image: /boot/initrd.img-2.6.35-23-generic
Found Windows 7 (loader) on /dev/sda1
done
也可以用ubuntu tweak软件来删除旧内核

猜你喜欢

转载自wtz123.iteye.com/blog/1174168