Ubuntu 升级内核后不能正常引导的问题
这不是个新问题了。前两月开始,自从我的一台 Ubuntu 机器某次更新内核到 2.6.28-13 后,就无法正确引导。而只能引导旧的 2.6.28-11 。
这两天内核又升级到 2.6.28-14 问题依旧。
启动时显示:
Error 13 : Invalid or unsupported executable format
我觉得不能将就了,就花了点时间研究解决了一下。
我的这台出问题的机器上装有 freeBSD Ubuntu 和 Windows 三个系统。最早装的 freeBSD ,然后分出一个区装的 Windows ,再然后从 Windows 分区上又划出了一部分装 Ubuntu 。
出问题前,我尝试过升级文件系统。从 Ext3 到 Ext4 。感觉问题可能来源于这里。
无论如何,跟 grub 有关系。
根据一些搜索来的信息,重新 grub-install 了一下就好了。
sudo grub-install /dev/sda
做这个步骤时,我曾经不小心弄错了。用的 sudo grub-install /dev/sda4 (因为我的 Linux 分区在那里)
导致悲剧了。系统不能启动。只好刻了张 Ubuntu 的 LiveCD 修复 grub 。
sudo grub
root (hd0,4)
setup (hd0)
quit
关于问题的原因,我的揣测是因为 grub 特殊的工作方式引起的。硬件引导的时候,可以加载的代码有限。所以并不能完整处理复杂的文件系统。
这也是为什么,早期的 dos 必须把引导文件放在磁盘的最开头的缘故。
由于我把 ext3 过渡到 ext4 的缘故,导致了 grub 工作失常,不能正确的引导后来复制到文件系统中的内核文件。新的 grub 当然对 ext4 有支持,只是可能是对这种过渡情况支持的不好吧。重新安装 grub 后也就正常了。
ps. 其实当初就应该把 /boot 保留为 ext3 的,害的我原来刻的 Ubuntu 8.10 的盘不能用,又重新下了个 9.04 的 ISO 刻盘。感觉又污染了环境,每次刻盘都有罪恶感。
Comments
Posted by: 福利工口姬 | (12) April 16, 2014 04:04 PM
Posted by: Terry | (11) March 31, 2010 06:53 AM
Posted by: Icat | (10) September 1, 2009 12:09 PM
Posted by: zay | (9) August 9, 2009 10:49 PM
Posted by: Anonymous | (8) August 9, 2009 09:29 PM
Posted by: chinainvent | (7) August 9, 2009 08:22 PM
Posted by: 华尔街 | (6) August 9, 2009 05:41 PM
Posted by: xun | (5) August 9, 2009 02:22 PM
Posted by: Anonymous | (4) August 9, 2009 09:53 AM
Posted by: momo | (3) August 9, 2009 07:00 AM
Posted by: anno | (2) August 9, 2009 02:16 AM
Posted by: annixhong | (1) August 9, 2009 12:43 AM