昨天装上了ubuntu8.04,和windows xp 一起又构成了双系统,运行得很好.手痒痒在windows下用PM格式化并合并了一个ext3到fat32的分区,然后就关机了.今天开机,郁闷,又出现 了前次出现的问题(有时候问题你不解决它,它就跟着你~):开机无法进入grub引导,显示error22.我也看不懂这error什么意思,不过有了前 次的经验,我知道再装一个系统就能间接修复grub.可是我不想这么麻烦,这实在吐血...于是上网查了一下,发现百度真是太帅了.以下是几种网上的方 法,我并没有全部试过,但是第一个我已经试过了,并成功地修复了我的grub,开机正常了.哈哈...
几种方法基本类似:
1)用LIVE CD进入图形界面,打开终端
输入一下命令:
$sudo su
$grub
grub>boot (hdx,y)
grub>setup (hdx)
/*这里解释一下:x 代表硬盘,如果你只有一个硬盘,一般都是的,那么 x 填0而 y 的值是你的ubuntu系统/root所在的分区,如果你不知道是哪个分区*/
/*你可以用Tab键代替,然后就会有显示,填入相应的正确值即可.下面的 x 值跟上面的 x 值相等.*/
2) 使用livecd启动,进入桌面系统,在终端输入
grub update
进入grub命令行,输入
root (hd0,x)
setup (hd0)
hd0 指第一块硬盘(不分串口SATA、并口PATA),x是linux的主目录“/”所在分区号,编号从0开始,比linux里显示的分区编号小1。比如 linux里显示硬盘分区号为hda5,这里x就是4。分区编号可以用菜单里的磁盘实在不知道是多少,就挨个试,到grub提示分区格式为ex2fs一般 就是了。注意root (hd0,x)在root后面必须有空格。root命令是指定引导的分区,setup命令把引导信息写到硬盘MBR。
3)
1. 用Live CD启动
2. 打开一个终端,运行$sudo grub你会看到'grub>'这样的提示符
3. 在提示符'grub>'后输入find /boot/grub/stage1,你会得到一个运行结果,比如我的机子上结果是(hd0,5) (这个命令其实就是找出/boot所在分区)
4. 运行 grub>root (hd0,5) (这个位置要填上你机子上的运行结果)
5. 运行grub>setup (hd0) 出现几行提示文字,最后是“... succeeded” 修复成功!
6. 运行quit
8. 重启计算机,取出live CD