Linux内核升级爆发:我如何删除内核,打破了这一切?

我刚刚升级了Ubuntu 10.04(服务器版)到“2.6.32-36”。 但是,升级完成后,服务器不会再启动,GRUB告诉我无法读取头文件。

我重新启动机器,在启动时按住Shift键,然后GRUB显示旧内核列表。 我select了一个我升级的系统,系统启动并按照以前的方式工作。

现在,我想摆脱最新的内核,只是坚持旧的。 所以,我想我可以运行'apt-get remove linux-image-2.6.32-36-server',然后重新configurationGRUB。 但是,当我运行该命令时,Linux给了我以下内容:

Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: linux-image-2.6.32-36-server linux-image-server linux-server 0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. After this operation, 128MB disk space will be freed. Do you want to continue [Y/n]? n Abort. 

我真的应该让Linux删除“linux-image-server”和“linux-server”吗? 这会打破我的系统? 现在我用“2.6.32-33-server”运行。

 Linux backupserver 2.6.32-33-server #72-Ubuntu SMP Fri Jul 29 21:21:55 UTC 2011 x86_64 GNU/Linux 

在我的经验中,内核软件包的移除从来没有引起任何问 即使您的系统没有内核,仍然可以使用可启动的CD或DVD启动它,并将内核安装到您的硬盘驱动器上。 如果说到这一点,我非常怀疑,你需要做这样的事情:

 Boot from CD mount -o bind /dev <your root directory of hard drive>/dev mount -o bind /proc <your root directory of hard drive>/proc chroot <your root directory on hard drive> apt-get install <any kernel you like> update-grub 

如果你的服务器不是一个关键任务服务器,我build议你尽可能地尝试和学习。 所有Linux用户的精神是不是? :)

为了更安全,您可以从GRUBconfiguration文件中删除(或注释掉)较新的内核:

 default 0 timeout 3 splashimage=(hd0,0)/boot/grub/splash.xpm.gz #title Linux 2.6.32-36 #root (hd0,0) #kernel /boot/vmlinuz-2.6.39-gentoo-r2 root=/dev/sda1 ro fastboot quiet title Linux 2.6.32-33 root (hd0,0) kernel /boot/vmlinuz-2.6.38-gentoo root=/dev/sda1 ro fastboot quiet 

或将default选项更改为较旧的内核顺序(从0开始)。