解决ubuntu系统在升级软件后冲掉grup配置导制无法进入新内核系统的问题
作者:张华 发表于:2011-12-09
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明。
想玩openstack, 于是想着在win7的基础上再安装一个ubuntu
安装了ubuntu 11.10, 但是发现无法安装lotus note, 这样无法办公了
只好退回到ubuntu 10.04, 但是10.04对T420机器的驱动支持有限,安装后找不着有线网卡, 无线网卡, 显卡的驱动
一个个找驱动太麻烦, 于是将ubuntu 10.04的内核版本从2.6.32-33升级到了3.1.4 (位于 /usr/src目录 )
升级到3.1.4之后, 系统运行良好, 于是开始安装了一天的工作要用的软件与环境
最后快到下班时, 用ubuntu的软件更新软件器更新了一些库文件
重启, 居然进不了系统了, 一天的成果啊, ubuntu咋个就这么脆弱呢
不甘心, 我发现从ubuntu 3.1.4 的recovery 模式也无法进入系统
但是, 发现从ubuntu 2.6.32-33可以进入系统
用ubuntu2.6.32-33 进入系统之后, 发现/boot/grub/grub.cfg文件中丢失了 initrd /boot/initrd-linux3.1.4.img 这么一句, 补上, OK。
menuentry 'Ubuntu,Linux 3.1.4' --class ubuntu --class gnu-linux --class gnu --class os {
recordfail
insmod ext2
set root='(hd0,10)'
search --no-floppy --fs-uuid --set 5cc5e800-8c42-43be-b968-ae5b9af01a17
linux /boot/vmlinuz-3.1.4 root=/dev/sda10 ro quiet splash
initrd /boot/initrd-linux3.1.4.img
}
估计是在ubuntu更新软件时, 它执行了 update-grub命令将 initrd /boot/initrd-linux3.1.4.img 这句冲掉了。
有惊无险, 终于保住了一天的装机成果, 我记得我以前在mac机上有一次也更更新系统软件之后导致skype始终强制占用80端口造成http服务器无法启动的莫名问题,种种教训告诉我, 以后再也不要随便更新软件了。
内核更新过程见:
Ubuntu 10.04中升级内核(从2.6.32到3.1.4)手记
http://www.chinaexpat.net/thread-4098-1-1.html
注意, 升级完之后, 启动系统会报下列错误, 但不影响启动。
Error: Driver 'mdio-gpio' is already registered, aborting
如果觉得上述错误碍眼, 可在编译内核时将 kernel-3.03/.config中的CONFIG_MDIO_GPIO=y改成=m即可。
还有一个Laptop Hybrid Graphics 选上,毕竟这个T420是支持双显卡的。
另外,
1) firefox安装openjdk插件的命令是: sudo apt-get install icedtea6-plugin
2) 如果在ubuntu中执行apt-get 命令时报错“卸载软件时,会出现“子进程 已安装 post-installation 脚本 返回了错误号 1”", 这是一个普遍的问题, 可这样解决:
1、进入/var/lib/dpkg路径2、将/var/lib/dpkg/路径下的info/路径备份,然后新建一个空的info/路径
3、sudo apt-get autoremove