当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 修复grub引导菜单

Unix/Linux
在Linux操作系统上运行Windows应用程序
RedHat AS 3.0下高可用性集群配置
一个NAT+SQUID+DNAT+FORWARD+反弹式FIREWALL的例子
安装显卡好简单
硬盘安装 RedHat9 心得
linux忘记了密码怎么办(lilo/grub)
vmware 配置实例-linux host + windows guest + fire
Linux下Makefile的automake生成全攻略
Linux中流媒体Helix Server的安装和配置
利用shell编程实现DOS风格的Linux命令行
设置一个高容量的Linux POP3服务器
如何在Linux环境模拟DOS命令
Linux系统文件命令精通指南(下)
如何提高Linux操作系统速度
Linux系统文件命令精通指南(上)
GCC精彩之旅
分布式拒绝服务攻击(tfn2k)攻击及iptables过滤测试
Iptables来限制上QQ
Linux下IpTables的配置
无法进入图形界面的解决过程

Unix/Linux 中的 修复grub引导菜单


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 86 ::
收藏到网摘: n/a

昨天装上了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