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

Unix/Linux
Linux crontab定时执行任务 命令格式与详细例子
linux 查看用户及用户组的方法
让Linux系统有效防御ARP攻击的实用技巧
Linux 常用软件列表
linux wget 一个强大的下载命令
linux 常用脚本、命令
linux 磁盘配额 简单介绍
Linux服务器架设笔记 Squid服务器配置
ubuntu intel 集成显卡安装
ubuntu 9.04 X3100 显卡开启3D特效
Ubuntu 8.10 Server Ruby 的安装方法
Ubuntu root帐户密码修改
ubuntu下apt-get 命令参数
Ubuntu Linux下实现QQ的三种方式
Ubuntu 8.04中建立PHP+MySQL环境
Ubuntu常用软件大全
Ubuntu系统下安装Aircrack-ng
Ubuntu实现FTP功能
ubuntu 字体美化实现方法
ubuntu下netbeans汉字显示残缺问题

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


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