欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

删除Ubuntu旧版本内核 博客分类: 应用 UbuntuLinuxXPMicrosoftWindows 

程序员文章站 2024-03-01 10:58:52
...
我也是在网上看了很多帖子才动手的,我的Ubuntu是10.10
觉得Ubuntu还是太脆弱,稍微胡整一下就葛屁了,虽然可以修复过来,但还是比较麻烦

下面就是我的记录
参见了:http://hi.baidu.com/luoziding/blog/item/7e293daa367299a1ca130c6c.html
http://www.linuxjia.com/banben/ubuntu/2010/1223/288.html

lucane@KNIGHT:~$ dpkg --get-selections|grep linux-image
linux-image-2.6.35-22-generic install
linux-image-2.6.35-23-generic install
linux-image-generic install

目前我在用的内核是
lucane@KNIGHT:~$ uname -a
Linux KNIGHT 2.6.35-23-generic #41-Ubuntu SMP Wed Nov 24 10:18:49 UTC 2010 i686 GNU/Linux


所以要把22版本的搞掉
$sudo apt-get remove linux-image-2.6.35-22-generic

实际上执行完这个之后,启动引导菜单已经自动帮我们修改好了,详见后面日志

重启之后外带执行这个,虽然我不知道是干啥的
$sudo apt-get remove linux-headers-2.6.35-22-generic

删完之后22内核已经处于deinstall状态,如下:
lucane@KNIGHT:~$ dpkg --get-selections|grep linux-
linux-firmware install
linux-generic install
linux-headers-2.6.35-22 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 deinstall
linux-image-2.6.35-23-generic install
linux-image-generic install
linux-libc-dev install
linux-sound-base install
syslinux-common install

看看执行时生成的日志文件,就可以了解哪些工作是要我们手工做,哪些工作已经是自动完成了的

发现删除完了之后右上角关机那个小按钮消失了。只需要点『添加到面板』就可以把这些小程序找出来
当我再次重启发现,这些又恢复了,我只好把我加上去的又删掉



下面的这是在网上看别人写的东西,以及参看官方文档得出的东西,记录在这里准备用的,结果都没用到

最后修改引导启动菜单
sudo gedit /boot/grub/menu.lst

这个文件实际上在10之前已经修改为grub.cfg了,网上有一部分人还是写的这个文件,但是确实已经改了,到目录下看看就知道了
我打开这个文件的时候sudo gedit /boot/grub/menu.lst,是系统新建的一个文件,里面是空的

下面这个才是有内容的,参见https://help.ubuntu.com/community/Grub2
sudo gedit /boot/grub/grub.cfg

该文件上面有一行
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

足可以表明该文件不用手动改,可以通过某个工具生成,当然估计也可以手动改

官方文档上有一句
“grub.cfg is overwritten anytime there is an update, a kernel is added/removed, or the user runs update-grub.”

既然我手动删除了内核,那么系统应该自动会更改这个文件的内容,最坏的情况是我手动执行这个命令$sudo update-grub,让它去更改那个文件

等执行update-grub让他自动生成看有没有什么变化

或者自己手动改grub.cfg
打开,然后删除不要的内核的那两段就OK了
当然修改之前先cp备份一个出来,更保险

-----------------------我是华丽的分割线-----------------------

下面是执行日志

lucane@KNIGHT:~$ sudo apt-get remove linux-image-2.6.35-22-generic
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
下列软件包将被【卸载】:
  linux-image-2.6.35-22-generic
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。
解压缩后将会空出 107MB 的空间。
您希望继续执行吗?[Y/n]y
(正在读取数据库 ... 系统当前共安装有 150779 个文件和目录。)
正在卸载 linux-image-2.6.35-22-generic ...
Examining /etc/kernel/prerm.d.
run-parts: executing /etc/kernel/prerm.d/dkms 2.6.35-22-generic /boot/vmlinuz-2.6.35-22-generic
dkms: uninstalling: fglrx 8.780 (2.6.35-22-generic) (i686)

-------- Uninstall Beginning --------
Module:  fglrx
Version: 8.780
Kernel:  2.6.35-22-generic (i686)
-------------------------------------

Status: Before uninstall, this module version was ACTIVE on this kernel.

fglrx.ko:
- Uninstallation
   - Deleting from: /lib/modules/2.6.35-22-generic/updates/dkms/
- Original module
   - No original module was found for this module on this kernel.
   - Use the dkms install command to reinstall any previous module version.
depmod.......

DKMS: uninstall Completed.
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 ...
Found linux image: /boot/vmlinuz-2.6.35-23-generic
Found initrd image: /boot/initrd.img-2.6.35-23-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Microsoft Windows XP 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]



lucane@KNIGHT:~$ sudo apt-get remove linux-headers-2.6.35-22-generic
[sudo] password for guohai:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树      
正在读取状态信息... 完成      
下列软件包将被【卸载】:
  linux-headers-2.6.35-22-generic
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 0 个软件包未被升级。
解压缩后将会空出 10.0MB 的空间。
您希望继续执行吗?[Y/n]y
(正在读取数据库 ... 系统当前共安装有 146974 个文件和目录。)
正在卸载 linux-headers-2.6.35-22-generic ...


附件是原始的一个grub.cfg和删除旧版内核后自动生成的一个grub.cfg