安装ubuntu碰到的一个问题:Grub error 5错误,描述、分析、解决。

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
lizistorm
帖子: 1
注册时间: 2009-05-13 19:09

安装ubuntu碰到的一个问题:Grub error 5错误,描述、分析、解决。

#1

帖子 lizistorm » 2009-05-13 19:55

昨天安装ubuntu9.04,碰到个很郁闷的问题,害我反复安装了n次,花费了10小时+,经过google也没类似案例。
现在把这个问题写下来,以供参考。

现象:
安装ubuntu完成后重启,grub4dos报错:
error 5: Partition table invalid or corrupt

注意:
报错不是file not found,grub4dos是0.4.4版,可识别ext4文件系统。

过程描述:
XP+ubuntu9.04双系统安装,C:\是windows系统盘,D:\ E:\ F:\是windows其他分区。
将D:\格式化,安装ubuntu。安装过程中对原来的D:\进行分区,发现原来的C:\对应sda1,E:\对应sda5,F:\对应sda6。
则ubuntu分的四个区“/” “wrap” “/tmp” “/home”分别是sda7,sda8,sda9,sda10。
装完ubuntu后用live cd启动把grub4dos写入MBR中进行引导,采用Grub4Dos引导方式。menu.lst文件中的root设为(hd0,6),即从sda7启动。
然后就报错error 5。

分析:
这里报这个错误的原因是分区表在安装ubuntu分区的时候被破坏了,注意看前面描述分区的设备号,sda7,sda8,sda9,sda10排在了sda5的前面,分区乱序排列。猜测grub4dos是首先找到第一个逻辑分区sda5,然后顺序寻找后面的逻辑分区,故只能找到sda5和sda6。

解决:
事先在windows中把D:\区按大小分解成ubuntu的四个区,可以格式化成fat也可以不格式化。然后再安装ubuntu,在ubuntu分区时的分区设备号就是顺序排列的了:sda1<C:\>, sda5</>, sda6<wrap>, sda7</tmp>, sda8</home>, sda9<E:\>, sda10<F:\>。
这样ubuntu就能成功启动了。

建议:
在安装ubuntu的时候,要么把ubuntu安装在硬盘最后,要么安装在最前面,如果要夹在windows分区中间安装,那么在安装前先把ubuntu的区划分好,再进行ubuntu的安装。
头像
想入非非
帖子: 8078
注册时间: 2008-07-14 22:42
来自: Beijing
联系:

Re: 安装ubuntu碰到的一个问题:Grub error 5错误,描述、分析、解决。

#2

帖子 想入非非 » 2009-05-13 20:34

我最开始安装的时候就是安装在硬盘的最后一个分区,看来运气还不错 :em06
Ubuntu User
回复