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

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 168 ::
收藏到网摘: 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